web-dev-qa-db-ja.com

エラー:RNFirebaseコアモジュールがiOSでネイティブに見つかりませんでした

新しいアプリを作成し、react-native-firebase。しかし、私は継続的にこのエラーを受け取ります:

RNFirebaseコアモジュールはiOSでネイティブに見つかりませんでした。プロジェクト「Podfile」にRNFirebaseポッドを正しく含め、「pod install」を実行したことを確認してください。

IOSセットアップガイドについては、 http://invertase.link/ios を参照してください。

私が行った手順:

  1. yarn add react-native-firebase

  2. react-native link react-native-firebase

  3. .../myproject/ios/myprojectでGoogleの.plistファイルを設定します
  4. ランpod update Ruby 2.5.0を使用していたことを確認した後
  5. ランポッドのインストール

現在使用しているポッドファイルは次のとおりです。

# 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",
19
user8951490

私は常にリアクションネイティブでポッドを使用しないことを好みますが、非ポップインストールに関するreact-native-firebaseの指示は機能しません。

この理由は、/ podsまたは/ firebaseを想定したパッケージの検索パスです

Source of the problem

したがって、適切にリンクするには、次の手順を実行します。

  1. firebase sdkをダウンロードする
  2. iosの直下にフォルダーを作成し、Firebaseと呼びます。サブフォルダーを保持せずに、そのフォルダーにSDKに必要なフレームワークをコピーします(まだXCodeを入力していないことに注意してください)
  3. Npm install -s react-native-firebaseをまだインストールしていない場合
  4. XCodeを開き、目的のフレームワークをXCodeのFrameworksフォルダーにドラッグアンドドロップします(この例では、Analytics、Messaging、DynamicLinksフォルダーのコンテンツ)。 iosのFirebaseサブフォルダーに既にあるので、尋ねられたときにアイテムをコピーしないでください: Add frameworks

  5. XCodeで[ライブラリ]を右クリックし、[[プロジェクト]にファイルを追加]を選択します。 node_modulesでRNFirebase-projectを見つけ、RNFirebase.xcodeprojを選択します。「アイテムをコピー」しないでください RN project file

  6. プロジェクト/ターゲット設定で、リンクされたフレームワークとライブラリに移動します。 libRNFirebase.aを見つけて追加します libRNFirebase.a

  7. AppDelegate.mで、react-native-firebaseからの指示に従って調整を行います。例:_import <Firebase.h> and [FIRAPP configure];_ in didFinishLaunchingWithOptions

  8. ヘッダー検索パスおよびフレームワーク検索パスで、$(PROJECT_DIR)/Firebaseを追加します
  9. GoogleServices-Info.plistをプロジェクトに追加することを忘れないでください
1
lovbrand

手動でリンクしたくない場合は、RNFirebaseをポッドインストールとして直接インストールしてみてください:

pod 'RNFirebase', :path => 'path/to/node_modules/react-native-firebase/ios'

HEADER_SEARCH_PATHSを変更またはハードコーディングしても役に立ちませんでした。エラーが再発する場合、rm -rf node_modulesやポッドファイルなどを削除する必要はありません。キャッシュをクリアすると便利です。

1
ehacinom

私は同じ問題を抱えていましたが、それを修正しようとすると、起動時にアプリがクラッシュしました。

ios/AppFolder/の下のターミナルを介して移動しましたが、Xcodeはこのファイルを認識しませんでした。

プロジェクトをXcodeで開くことができました。次に、[AppFolder > Add Files]を左クリックし、GoogleService-Info.plistを追加します。

0
Nico