bitcode
来源:互联网 发布:美国直播软件 编辑:程序博客网 时间:2024/09/21 08:58
does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE)错误
转载自 http://blog.csdn.net/zhyl8157121/article/details/48528831
今天把xcode升级到7.0了,除了swift语法的一些问题,还有几个问题比较麻烦,其中一个就是包含标题的一个错误提示。
开发环境:Xcode 7.0
开发语言:swift(引入了第三方的oc库)
出现场景:
正常调试是没有问题的,但是在Archive的时候,报出了这个错误。
问题详情:
(null): URGENT: all bitcode will be dropped because ‘xxxx’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. Note: This will be an error in the future.
问题分析:
从上述的错误中应该可以看出,这是因为一个第三方的库不兼容,我的工程中开启了 ENABLE_BITCODE (应该是升级之后自动转换的),而这个第三方的库在编译的时候没有 enable bitcode,所以导致上诉问题。
解决方法:
应该是有两种吧,一种就是换成 enable bitcode 的第三方库,再有一种就是将工程的 ENABLE_BITCODE 设置为 false 就可以了。
因为我这里不太方便换库,所以,就把工程的设置给改了一下。
具体操作方法如下:
上面解决方法是把工程的设置给改了,但是改了之后有什么影响现在还没有发现。如果以后发现了会更新本文。
深究Xcode的bitcode设置
转发至:http://www.jianshu.com/p/f42a33f5eb61
LLVM是目前苹果采用的编译器工具链,Bitcode是LLVM编译器的中间代码的一种编码,LLVM的前端可以理解为C/C++/OC/Swift等编程语言,LLVM的后端可以理解为各个芯片平台上的汇编指令或者可执行机器指令数据,那么,BitCode就是位于这两者直接的中间码. LLVM的编译工作原理是前端负责把项目程序源代码翻译成Bitcode中间码,然后再根据不同目标机器芯片平台转换为相应的汇编指令以及翻译为机器码.这样设计就可以让LLVM成为了一个编译器架构,可以轻而易举的在LLVM架构之上发明新的语言(前端),以及在LLVM架构下面支持新的CPU(后端)指令输出,虽然Bitcode仅仅只是一个中间码不能在任何平台上运行,但是它可以转化为任何被支持的CPU架构,包括现在还没被发明的CPU架构,也就是说现在打开Bitcode功能提交一个App到应用商店,以后如果苹果新出了一款手机并CPU也是全新设计的,在苹果后台服务器一样可以从这个App的Bitcode开始编译转化为新CPU上的可执行程序,可供新手机用户下载运行这个App.
- Bitcode
- bitcode
- bitcode
- BitCode
- bitcode
- BitCode
- Bitcode
- bitcode
- bitcode
- bitcode
- 什么是bitcode
- Bitcode是什么?
- 三、Bitcode
- 关于bitcode
- Bitcode是什么?
- BITCODE DEMYSTIFIED
- LLVM Bitcode File Format
- Bitcode是什么,如何配置?
- 深度学习算法实践3---神经网络常用操作实现
- iOS - 关于NSURLCache
- Android点击空白区域,隐藏输入法软键盘
- Web 服务器与应用服务器的区别
- Unity3D NGUI Scroll View注意事项
- bitcode
- loaderviewlibrary
- NGUI全屏背景
- 史上最强视频网站真实地址解析
- 如何禁止input粘贴输入和页面拖动输入
- 关于Uncaught SyntaxError: Unexpected identifier
- process常用属性
- 深度学习算法实践4---Theano常用技巧
- Unity3D-深入剖析NGUI的游戏UI架构