我的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。如何解决这个问题?谢谢!
答案 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)
答案 2 :(得分:0)
这是由于Mac系统中可用的内存/磁盘空间不足。当我清除它。它运行平稳,无需自行清洁。