Unity 5.6.4集成Facebook SDK7.11,XCode9.1遇Bitcode链接错误
解决Xcode编译Facebook SDK Bitcode错误的方案
这个报错本质是Xcode 9默认启用了Bitcode编译选项,但你用的Facebook SDK 7.11.0版本并没有包含Bitcode支持,导致链接阶段冲突。下面是两种可行的解决办法:
方法一:直接在Xcode中关闭Bitcode(最快解决)
- 打开Unity导出的iOS项目,选中你的主应用Target(就是和项目同名的那个Target)
- 切换到
Build Settings标签页 - 在顶部搜索框输入
ENABLE_BITCODE,快速定位到该选项 - 将对应的设置从
Yes修改为No - 如果你项目里还有其他关联的Target(比如Facebook相关的子Target),也需要同样把它们的
ENABLE_BITCODE改成No
完成后重新编译,应该就能顺利通过了。
方法二:在Unity导出前配置,避免重复修改Xcode
如果你不想每次导出iOS项目都要去调整Xcode设置,可以在Unity里提前关闭Bitcode:
- 打开Unity的
Player Settings(菜单栏Edit > Project Settings > Player) - 切换到
iOS平台的设置页面 - 找到
Other Settings下的Configuration区域,找到Enable Bitcode选项 - 取消勾选这个选项,再导出iOS项目
这样导出的Xcode项目默认就关闭了Bitcode,直接编译即可。
额外说明
如果坚持要使用Bitcode,你需要升级Facebook SDK到支持Bitcode的版本,但要注意Facebook SDK 7.11.0是比较老的版本,后续版本(比如v8.x及以后)大多支持Bitcode,但同时要确保新版本和你的Unity 5.6.4p1兼容,可能会出现兼容性问题,所以优先推荐前两种关闭Bitcode的方案。
内容的提问来源于stack exchange,提问作者Josh
相关产品推荐
相关产品推荐

