はCI

1

私がインストールされているFBSDKCoreKitFBSDKLoginKitと~/Documents/FacebookSDKにSDKをダウンロードして、XCodeのにフレームワークフォルダにフレームワークをドラッグしてFBSDKShareKitに見つからないネイティブFBSDKファイルを反応します。必要に応じてファイルをコピーしてプロジェクトに表示するオプションを確認しました。はCI

私はその後、建物のローカルしかし、Bitrise(CI)の上に構築することはエラーで失敗し、正常に動作します~/Documents/FacebookSDK

正しいフレームワーク検索パスを追加しました:

/Users/vagrant/git/node_modules/react-native-fbsdk/ios/RCTFBSDK/share/RCTFBSDKShareDialog.h:21:9: 'FBSDKShareKit/FBSDKShareKit.h' file not found

フレームワーク検索パスも$(PROJECT_DIR)ているが含まれていますappname/Frameworks/にあるフレームワークを見つけるはずですが、私はこれが見つからないというエラーを修正することはできません。

答えて

2

私は、このセクションをBuddyBuild(別のCIシステム)を使用してこの問題に遭遇し、特に、ここではそのドキュメントページhttp://docs.buddybuild.com/docs/common-react-native-errors#section-error-fbsdksharekit-fbsdksharekit-h-file-not-foundにリンクされた命令を経由して、それを解決:

error: 'FBSDKShareKit/FBSDKShareKit.h' file not found

This is generally a result of an incorrectly configured repository with regards to the location of FBSDK dependencies. If you take a look at: https://github.com/facebook/react-native-fbsdk/blob/master/ios/RCTFBSDK.xcodeproj/project.pbxproj

You will notice that RCTFBSDK will look for dependencies in one of two locations:

  • ~/Documents/FacebookSDK
  • $(PROJECT_DIR)/../../../ios/Frameworks

The second option is the correct option for continuous integration systems like Buddybuild. In other words, you MUST place your FBSDK dependencies under the "ios/Frameworks" folder in order for it to work on a continuous integration system.

問題はヴィクトルが指摘していることですCIシステムには、必要なFrameworksを含むFacebookSDKフォルダへの参照がないため、実際にはFramework自体をプロジェクト自体にコピーして、リポジトリにすべてが含まれるようにする必要があります。これは、RCTFBSDKライブラリでは、プロジェクト内のフォルダ$PROJECT_ROOT/ios/Frameworks(BuddyBuildのドキュメントを参照)に必要なフレームワークが正確に見つかることを期待しています。私が働いて私のビルドを取得するために要した手順明確にするために

は以下の通りであった。

  • は(Frameworksがまだ存在しない場合があります)私のプロジェクトのフォルダ$PROJECT_ROOT/ios/Frameworksを作成
  • コピー本に~/Documents/FacebookSDKからFacebookのフレームワークファイル新しいフォルダ
  • fbsdk Githubページのインストール手順に従って、Xcodeのフレームワークを参照してください。

将来の読者に役立つことを願っています。