Xcode 7 bitcode_strip错误

时间:2015-08-18 11:31:04

标签: xcode bitcode

我的Xcode 7 beta3项目包含一些由Xcode 6编译的框架,这些框架通过“Build Phase”选项卡中的Embeded Frameworks选项导入到我的项目中。因为这些框架不支持bitcode,所以“Enable Bitcode”选项变为NO,编译项目时,发生Bitcode_strip错误:

  

/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip   /Users/panzhansheng/Desktop/MusicFans_2.0.4_xcode7_autoplay/MusicFans/Frameworks/FLAC.framework/FLAC   -r -o /Users/panzhansheng/Library/Developer/Xcode/DerivedData/MusicFans-bxutvotiungdbwfsxloykffnqoqs/Build/Products/Debug-iphoneos/MusicFans.app/FLAC.framework/FLAC   /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip:   输入文件必须是链接的Mach-O文件而不是存档:   /Users/panzhansheng/Desktop/MusicFans_2.0.4_xcode7_autoplay/MusicFans/Frameworks/FLAC.framework/FLAC   (对于体系结构i386)错误:bitcode_strip   /Users/panzhansheng/Desktop/MusicFans_2.0.4_xcode7_autoplay/MusicFans/Frameworks/FLAC.framework/FLAC:   /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip   退出1

我发现当Xcode将我的框架复制到我的App包并尝试从框架中删除bitcode时发生了错误,但这些框架是由Xcode早期版本编译的,根本不包括bitcode。如何解决这个问题?谢谢!

3 个答案:

答案 0 :(得分:13)

正如我发现的那样,只有当环境变量STRIP_BITCODE_FROM_COPIED_FILES设置为YES时,XCode才会使用bitcode-strip。当enable_bitcode打开时,它似乎默认设置为YES。

添加用户定义的设置STRIP_BITCODE_FROM_COPIED_FILES = NO可以帮助您,XCode不会使用bitcode-strip,但您的应用程序将使用没有bitcode部分的框架可能无法正常工作。因此,如果需要,还可以使用STRIP_BITCODE_FROM_COPIED_FILES = NO来重新编译它们。

在XCode 7 beta 5上测试

答案 1 :(得分:7)

跟随M. Pogosskiy的回答,我花了一些时间来追踪STRIP_BITCODE_FROM_COPIED_FILES位设置的位置(不太熟悉这些)。供参考,这里有一个例子:

enter image description here

答案 2 :(得分:0)

这是由于Mac系统中可用的内存/磁盘空间不足。当我清除它。它运行平稳,无需自行清洁。