Ошибка: основной модуль RNFirebase не был найден изначально на iOS

Я создал новое приложение, и я пытаюсь использовать react-native-firebase. Но я постоянно получаю эту ошибку:

Основной модуль RNFirebase не был найден изначально на iOS, убедитесь, что вы правильно включили модуль RNFirebase в подфайл "Project" и запустили "pod install".

См. Http://invertase.link/ios для руководства по настройке ios.

Шаги, которые я сделал:

  1. yarn add react-native-firebase

  2. react-native link react-native-firebase

  3. Настройте мой.plist файл из Google под... /myproject/ios/myproject
  4. pod update Ran pod update после обеспечения того, что я использовал Ruby 2.5.0
  5. 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

Source of the problem

Следовательно, чтобы сделать ссылку правильно, выполните следующие действия:

  1. скачать FireBase SDK
  2. создайте папку прямо под ios и назовите ее Firebase, скопируйте необходимые рамки sdk в эту папку БЕЗ хранения подпапок (обратите внимание, вы еще не ввели XCode)
  3. Если вы еще не установили npm, установите [CN00 ]act-native-firebase
  4. Откройте XCode и перетащите нужные фреймворки в папку Frameworks в XCode (например, в моем примере содержимое папок Analytics, Messaging и DynamicLinks). Не копируйте элементы, когда их спрашивают, как это уже было в подпапке Firebase ios: Add frameworks

  5. В XCode щелкните правой кнопкой мыши "Библиотеки" и выберите "Добавить файлы в [проект]". Найдите RNFirebase-project в node_modules и выберите RNFirebase.xcodeproj, не "копируйте элементы" RN project file

  6. В настройках Project/Target перейдите к Связанным фреймворкам и библиотекам. Найдите и добавьте libRNFirebase.a libRNFirebase.a

  7. В AppDelegate.m внесите коррективы в соответствии с инструкциями response-native-firebase, например: import <Firebase.h> and [FIRAPP configure]; в didFinishLaunchingWithOptions

  8. В Пути поиска в заголовке И Пути поиска в структуре добавьте $(PROJECT_DIR)/Firebase
  9. Не забудьте добавить свой 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 и т.д., Я считаю полезным очистить кеш.