生成错误:升级到Xcode 10

时间:2018-09-20 05:14:05

标签: ios xcode react-native react-native-fbsdk

我正在使用使用FBSDK(react-native-fbsdk)的react native构建应用程序。整个过程都没有问题,但是在将Xcode从9.4更新到10.0之后,由于错误,我不再能够构建项目:

  

找不到“ FBSDKShareKit / FBSDKShareKit.h”文件

我发现了许多似乎有相同问题的问题,并尝试了他们的建议,但仍然无法成功构建。我尝试过的事情:

  1. 在框架搜索路径中添加“〜/ Documents / FacebookSDK”
  2. 确保FBSDK [Core,Share,Login] Kit.framework和libRCTFBSDK.a位于带有库的链接二进制文件中
  3. 使用“ rm -rf 〜/ Library / Developer / Xcode / DerivedData”中清除数据,然后尝试 重新构建
  4. 然后从FacebookSDK文件夹中删除框架 再次添加了他们

在这一点上,我不确定我还应该尝试什么。最奇怪的是,它在更新Xcode之前就已经起作用了,这是否意味着Xcode本身发生了变化,导致了这一点?

有人对此有任何想法或遇到过这个问题吗?

编辑: 通过将Build System从New Build System更改为Legacy Build System,我设法成功地构建了项目。该应用程序现在可以运行(也许Xcode构建项目的方式现在与当前的fbsdk不兼容吗?)

3 个答案:

答案 0 :(得分:10)

我最终设法通过添加

将构建系统设置为新构建系统,同时构建了项目
  

$(PROJECT_DIR)/../../../ ios

进入RCTFBSDK的(目标)框架搜索路径。

我的猜测是;由于.frameworks文件位于ios文件夹而不是ios / Frameworks中,因此项目无法找到所需的文件。 (如果我使用旧版构建系统,为什么还能奏效,对我来说还是个谜)。

我已经在模拟器和设备上进行了测试;两者似乎都工作正常。

答案 1 :(得分:4)

对我有用的东西

我在ios文件夹中创建了一个 Frameworks 文件夹,并将所有fdsdk文件移入了该文件。

然后,我必须从“使用库链接二进制文件”中删除FBSDK [Core,Share,Login] Kit.framework和libRCTFBSDK.a(您在项目中访问它,然后构建阶段),然后添加3个FBSDK [Core,Share” ,登录]再次从 Frameworks 文件夹+ libRCTFBSDK.a

中下载Kit.framework

我清理了衍生数据文件夹

rm -rf ~/Library/Developer/Xcode/DerivedData

然后使用新的构建系统构建成功。

希望这可以帮助其他人。

感谢@ rabbit87和@kalid的帮助

答案 2 :(得分:0)

对于仍在这个问题上挣扎的任何人,对我有用的不仅是您必须从主项目中更改框架搜索路径,而且还必须从位于RCTFBSDK.xcodeproj本身内部的路径进行更改。在“库”文件夹中。enter image description here