IOSのリンクフェーズ中に、React Nativeプロジェクトのエラーが表示され始めました。
React Nativeバージョン:0.41.2
、0.40
、0.39
すべて正常に動作しました。Androidバージョン、Reactこの種のリンクエラーは、/node_modules/react-native/React/Base/{RCTHeaderName.h}
パスが見つかりません:
In file included from /Users/user/ReactNativeProject/node_modules/react-native-vector-icons/RNVectorIconsManager/RNVectorIconsManager.h:9:
../react-native/React/Base/RCTBridgeModule.h:12:9: fatal error: 'React/RCTDefines.h' file not found
#import <React/RCTDefines.h>
^
Link Binary with Librariesに、コアReact library(libReact.a
)]を含めます。
RCTLog.h
の場所はPROJECTROOT/node_modules/react-native/React/Base/RCTLog.h
ですが、インポートは#import <React/RCTLog.h>
です
React.xcodeproj
をライブラリに新たに追加しても役に立たず、XcodeのProduct > Clean
は役に立たず、Xcodeの再起動も役に立たない
react-native run-Android
は機能し、react-native run-ios
はエラーを表示します
react-native run-ios
を実行するユーザーに設定されたファイル許可
更新:Facebook React-Nativeのソリューション https://github.com/facebook/react-native/issues/1181
============
この問題は私にも起こりました。 React.xcodeprojは設定DebugとReleaseのみを認識するようです。 React.xcodeprojのすべての出力は、Debug-iphonesimulatorまたはRelease-iphonesimulator。
つまり、「デバッグ/リリース」以外の設定がある場合、出力はDebug-iphonesimulatorまたはRelease-iphonesimulator、それは私たちが望むものではありません。
したがって、解決策は、React.xcodeprojに同じ構成を追加して、独自のプロジェクトの1つに一致させることです。
たとえば、自分のプロジェクトに「Debug/Release/Test/AppStore」の4つの構成がある場合、React.xcodeprojにも同じ4つの構成があることを確認する必要があります。
[設定]の[+]ボタンをクリックしてから[リリース設定を複製]をクリックし、必要に応じて名前を変更してください。
これらの「ヘッダーがありません」エラーを取得する理由はたくさんあるようで、Stack Overflowに投稿された多くのことを試しましたが、何も機能しません。最終的に私は私のために働いた以下のソリューションにつまずいた。誰か他の人が同じ問題を抱えている場合に投稿してください...少しわかりにくいです。私にとっては、Vanilla React Native。
注:バニラReactネイティブアプリケーションは、この設定を変更した後、react-native initを使用してゼロから再初期化する必要がある場合があります。
追加 path/project folder/ios/Pods/Headers/Public
ライブラリのビルドSettings
-> Header Search Path
。問題は解決されます