web-dev-qa-db-ja.com

ビルドに失敗した 'React / RCTBridgeModule.h'ファイルが見つかりません

私は自分の問題を解決するために1日を費やし、他のSO投稿で見つかったすべての解決策を試しましたが、残念ながら問題を解決する方法を理解できません。

TouchIDを自分の反応ネイティブプロジェクトに統合しようとしています。 「react-native-touch-id」と呼ばれるnpmパッケージをダウンロードしました(サウンドは完璧です!)。インストールガイドに従って、ライブラリをプロジェクトに手動でリンクしました。

しかし、アプリケーションを実行しようとすると、次のエラーが発生します。

main problem imageenter image description here

私は自分のプロジェクトをきれいにしようとしました:

  • rm -rf node_modules
  • ヤーンキャッシュクリーン&&ヤーンインストール
  • rm -rf ios/Pods/&& pod install

XCodeでは、ビルドフォルダーもクリーンアップします。

私のバージョンについて:

  • RN:0.57.4
  • xCode:10.1
  • react-native-touch-id:4.3.0

これが私のPodfileです:

def available_pods
  pod 'TouchID', :path => "../node_modules/react-native-touch-id"
end
target 'App' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!
  available_pods
end

プロジェクトのライブラリディレクトリ内にreact-native-touch-idパッケージの.xcodeprojを追加し、ビルドフェーズでリンクしました。

enter image description hereenter image description here

しかし、それでも何度も同じエラーが発生します...理由はわかりません...誰かがアイデアを持っている場合、いくつかの助けが本当に感謝されます:)

3
Hurobaki

問題はPodfileであるように見えました。ポッドファイルはトラブルを引き起こした独自のポッドスペックを使用しているようです。したがって、私は単にPodfileからTouchIdポッド宣言を削除し、ポッドをクリーンアップして再インストールします。

次に、ライブラリを手動でxcodeワークスペースにリンクしました。これを行うには、プロジェクト名の下でライブラリディレクトリを右クリック=>「プロジェクト名」にファイルを追加=> node_modulesディレクトリ内にあるnpmのパッケージのxcodeprojを追加

その後、プロジェクトでビルドフェーズライブラリとバイナリをリンクの下に、npmのパッケージ静的ライブラリ(私の場合はlibTouchID.aの例)を追加する必要があります。

プロジェクトをクリーンアップして再ビルドできることを確認するには、今すぐ機能するはずです。

詳細については、上記のソフトウェアバージョンをすべて保持しました。

1
Hurobaki

それがネイティブ(欠落)の反応を示している場合

製品->スキーム->管理スキーム->プロジェクト名->ビルド

  1. iosフォルダーを削除する
  2. 反応ネイティブのイジェクト
  3. cd ios /
  4. ポッド初期化
  5. ポッドインストール
  6. cD ..
  7. 反応ネイティブリンク
  8. cD ios
  9. * .xcworkspace /を開きます

これは、reactネイティブパッケージがiosビルドに適切にリンクされていない場合に発生します。 npmリンクがそれを行います。

0
Abey Thomas