Ошибка: основной модуль RNFirebase не был найден изначально на iOS
Я создал новое приложение, и я пытаюсь использовать react-native-firebase
. Но я постоянно получаю эту ошибку:
Основной модуль RNFirebase не был найден изначально на iOS, убедитесь, что вы правильно включили модуль RNFirebase в подфайл "Project" и запустили "pod install".
См. Http://invertase.link/ios для руководства по настройке ios.
Шаги, которые я сделал:
-
yarn add react-native-firebase
-
react-native link react-native-firebase
- Настройте мой.plist файл из Google под... /myproject/ios/myproject
-
pod update
Ran pod update
после обеспечения того, что я использовал Ruby 2.5.0 - Ran pod install
Файл pod, который я использую сейчас:
# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
target 'MyProject' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
pod 'Firebase/Core'
pod 'Firebase/Database'
pod 'Firebase/Messaging'
target 'MyProjectTests' do
inherit! :search_paths
# Pods for testing
end
end
Это версии, которые я использую:
"react": "^16.3.0-alpha.1",
"react-native": "0.54.2",
"react-native-firebase": "^3.3.1",
Ответы
Ответ 1
Я всегда предпочитаю не использовать стручки с реагировать на нативный, однако инструкции по реактивной реакции на firebase не будут работать.
Причиной этого являются пути поиска пакетов, которые предполагают либо /pods, либо /firebase
Следовательно, чтобы сделать ссылку правильно, выполните следующие действия:
- скачать FireBase SDK
- создайте папку прямо под ios и назовите ее Firebase, скопируйте необходимые рамки sdk в эту папку БЕЗ хранения подпапок (обратите внимание, вы еще не ввели XCode)
- Если вы еще не установили npm, установите [CN00 ]act-native-firebase
-
Откройте XCode и перетащите нужные фреймворки в папку Frameworks в XCode (например, в моем примере содержимое папок Analytics, Messaging и DynamicLinks). Не копируйте элементы, когда их спрашивают, как это уже было в подпапке Firebase ios:
-
В XCode щелкните правой кнопкой мыши "Библиотеки" и выберите "Добавить файлы в [проект]". Найдите RNFirebase-project в node_modules и выберите RNFirebase.xcodeproj, не "копируйте элементы"
-
В настройках Project/Target перейдите к Связанным фреймворкам и библиотекам. Найдите и добавьте libRNFirebase.a
-
В AppDelegate.m внесите коррективы в соответствии с инструкциями response-native-firebase, например: import <Firebase.h> and [FIRAPP configure];
в didFinishLaunchingWithOptions
- В Пути поиска в заголовке И Пути поиска в структуре добавьте
$(PROJECT_DIR)/Firebase
- Не забудьте добавить свой GoogleServices-Info.plist в свой проект
Ответ 2
У меня была такая же проблема, пытаясь исправить это, когда я запускал приложение для запуска при запуске.
Я переместил его через терминал под ios/AppFolder/
но Xcode никогда не знал об этом файле.
Мне помогло открыть мой проект в Xcode. Затем щелкните левой кнопкой мыши по моему AppFolder > Add Files
а затем добавьте GoogleService-Info.plist
.
Ответ 3
Если вы не хотите связывать вручную, вы можете попробовать установить RNFirebase как установку pod напрямую:
pod 'RNFirebase', :path => 'path/to/node_modules/react-native-firebase/ios'
Изменение или HEADER_SEARCH_PATHS
мне не помогло. Когда ошибка повторяется, нет необходимости ни выполнять rm -rf node_modules
ни удалять файл pod и т.д., Я считаю полезным очистить кеш.