我已经安装了FBSDKCoreKit、FBSDKLoginKit和FBSDKShareKit,方法是将SDK下载到~/Documents/FacebookSDK中,然后将框架拖到XCode的框架文件夹中。如果需要,我检查了复制文件的选项,以便它们出现在项目中。
然后我添加了正确的框架搜索路径~/Documents/FacebookSDK。
但是,本地构建可以正常工作,但是,在Bitrise (CI)上构建失败,出现以下错误:
/Users/vagrant/git/node_modules/react-native-fbsdk/ios/RCTFBSDK/share/RCTFBSDKShareDialog.h:21:9:'FBSDKShareKit/FBSDKShareKit.h‘文件未找到
框架搜索路径还包含$(PROJECT_DIR),它应该找到位于appname/Frameworks/中的框架,但我似乎无法修复这个未找到的错误。
发布于 2017-01-23 16:34:46
请参阅:https://discuss.bitrise.io/t/build-failing-with-file-not-found-fbsdk-in-ios-build/399/11
看起来你的Mac上有FacebookSDK在~/Documents/FacebookSDK,但是你没有在bitrise.io上下载它,所以它对你的构建来说是不可用的。
发布于 2017-06-02 05:31:11
我使用BuddyBuild (另一个CI系统)遇到了这个问题,并通过http://docs.buddybuild.com/docs/common-react-native-errors#section-error-fbsdksharekit-fbsdksharekit-h-file-not-found文档页面上链接的说明解决了这个问题,特别是本节:
错误:“FBSDKShareKit/FBSDKShareKit.h”文件未找到 这通常是由于在FBSDK依赖项的位置方面配置不正确的存储库造成的。如果你看一下:https://github.com/facebook/react-native-fbsdk/blob/master/ios/RCTFBSDK.xcodeproj/project.pbxproj 您将注意到,RCTFBSDK将在以下两个位置之一查找依赖关系:
第二个选项是连续集成系统(如Buddybuild )的正确选项。换句话说,您必须将FBSDK依赖项放在"ios/Frameworks“文件夹下,这样它才能在连续集成系统上工作。
问题是,正如Viktor所指出的,CI系统没有对包含所需框架的FacebookSDK文件夹的引用,因此需要将框架本身实际复制到项目本身,以便将所有内容都包含在存储库中。这是必要的,因为RCTFBSDK库希望在项目中的文件夹$PROJECT_ROOT/ios/Frameworks中找到它所需的框架(请参阅BuddyBuild文档),如果它们在其他地方,它就会抓狂。
为了清晰起见,我为使构建工作而采取的步骤如下:
$PROJECT_ROOT/ios/Frameworks (Frameworks可能还不存在)~/Documents/FacebookSDK复制到这个新文件夹中希望这对未来的读者有所帮助。
发布于 2018-08-04 15:36:29
我在Bitrise中使用了ZIPUn归档步骤,使用了以下路径:~/Documents/FacebookSDK和我无法使它工作。当我将框架搜索路径更改为${HOME}/Documents/FacebookSDK时,我能够成功地继续构建。
https://stackoverflow.com/questions/41749205
复制相似问题