#ios #react-native #cocoapods #reactive-cocoa
#iOS #реагировать-родной #cocoapods #реактивный-какао
Вопрос:
Package.json
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
},
"dependencies": {
"@react-native-community/masked-view": "^0.1.10",
"@react-native-firebase/app": "^8.4.2",
"@react-navigation/native": "^5.6.1",
"@react-navigation/stack": "^5.6.2",
"expo": "^39.0.3",
"expo-ads-admob": "~8.3.0",
"expo-av": "~8.6.0",
"expo-image-picker": "~9.1.0",
"expo-status-bar": "^1.0.0",
"expo-web-browser": "~8.5.0",
"firebase": "7.9.0",
"lottie-react-native": "~2.6.1",
"react": "~16.11.0",
"react-dom": "~16.11.0",
"react-native": "^0.63.3",
"react-native-appearance": "~0.3.3",
"react-native-dark-mode": "^0.2.2",
"react-native-elements": "^2.3.2",
"react-native-gesture-handler": "^1.6.1",
"react-native-hide-show-password-input": "^1.1.0",
"react-native-material-ripple": "^0.9.1",
"react-native-paper": "^4.0.1",
"react-native-reanimated": "^1.9.0",
"react-native-safe-area-context": "^3.0.2",
"react-native-screens": "^2.9.0",
"react-native-tts": "^3.2.0",
"react-native-vector-icons": "^7.1.0",
"react-native-web": "~0.11.7",
"react-navigation": "^4.4.0",
"react-navigation-stack": "^2.8.2",
"yarn": "^1.22.10"
},
"devDependencies": {
"@babel/core": "^7.8.6",
"@types/react": "~16.9.41",
"@types/react-native": "~0.62.13",
"typescript": "~3.9.5"
},
"private": true
}
Это Package.json моего проекта в react native. Как установить модули cocoa в этом проекте Я где-то читал, что при использовании зависимостей expo в проекте вы не можете установить cocoapods в проекте, так как установить модули cocoa при использовании зависимостей expo
Комментарии:
1. вы не можете работать с native с expo. Если вы хотите работать с native для ios и Android, вам следует извлечь свой проект, но вы потеряете expo sdk.
2. Я использую так много зависимостей expo, что весь мой код основан на зависимостях expo
3. зачем вам нужно добавлять какао?
4. для развертывания приложения в App Store вам нужны модули cocoa для запуска вашего проекта в Xcode
Ответ №1:
Вы просто не можете установить cocoa pods при использовании expo, вот так просто. Если вам нужна какая-то библиотека из сообщества react native, которая нуждается в установке cocoa pods, вы просто не сможете ее использовать, если expo не создала свою собственную. Вы можете проверить, доступна ли эта библиотека для expo здесь: https://docs.expo.io/versions/latest /
Почти все из сообщества react native имеет свою собственную версию expo, если это необходимо.
Для установки используйте $ expo install <module-name>
.
Ответ №2:
Вам следует использовать expo bare workflow, если вы хотите добавить библиотеки react native, которые еще не включены в expo client.
С Expo bare workflow вы все равно можете использовать модули expo, такие как expo-ad-mobs и даже expo client, если у вас есть какая-то стратегия отказа для ваших недавно добавленных библиотек. https://docs.expo.io/bare/exploring-bare-workflow /
Но вам придется создавать приложение самостоятельно, в то время как expo managed workflow позволяет использовать expo cli amp; infrastructure для создания вашего ipa / apk. Если вы просто хотите создать приложение и не добавлять какую-либо другую библиотеку, просто используйте команды expo cli, такие как expo build:ios