Xcode编译遇到bitcode问题
2023-03-15 23:19:45 时间
最近使用第三方库的时候,经常会遇到在Xcode7下编译报错的问题,错误大都有一个关键字:bitcode。例如:
ld: ‘/Users//Framework/SDKs/PolymerPay/Library/mobStat/libSDK.a(**ForSDK.o)’ does not contain 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. for architecture arm64
那么bitcode是什么呢?
其实bitcode是新推出一种包优化方式,bitcode是被编译程序的一种中间形式的代码,包含bitcode配置的程序会在App Store上被编译和链接。bitcode允许苹果在后期重新优化我们程序的二进制文件,而不需要我们重新提交新的版本。
我们要想解决这个问题,要么是第三方库支持bitcode,要么就不启用bitcode。
而对于苹果的三个平台:
- iOS,bitcode是可选的
- watchOS,bitcode是必须的
- Mac OS,不支持bitcode
但是现在用到的很多第三方库还没能支持bitcode,要是等他们都一个个支持就太麻烦了,我们可以在Xcode7中关闭bitcode:
在项目名-->Target-->Build Settings-->Enable Bitcode中设为NO就可以了。
如果我们启用bitcode,那么在提交包时,下面这个界面也会有个bitcode的选项:
相关文章
- 12 个让项目经理比程序员更痛苦的问题
- Web端PHP代码函数覆盖率测试解决方案
- Grid vs Flexbox:哪个更好?
- “自以为对的”MyBatis空闲连接探测的机制
- CTO说禁用Lombok,看我怼死他!
- 「重磅开篇」形成完善的多线程世界观
- Java Executor 框架学习总结
- 程序员大神Anders首次访华 畅聊编程语言趋势
- GoLand 2021.1 重磅发布:新特性试用报告
- 如何在React中操作DOM元素?
- 你的程序员是一种什么样的怪物?
- 推荐 10 个标星 100 K 的 GitHub 开源项目
- 大佬,第三方组件的Hooks为啥报错了?
- 创建一个成熟的GitOps流水线,需要做哪些决定?
- 自动化框架Selenium与Cypress,哪家强?
- 浅谈 PHP 中的多种加密技术及代码示例
- 最新版本PHP 7与HHVM 多角度比较
- “口罩厂”霍尼韦尔搞出的量子计算机,刚刚获得Nature认可
- 如何在HTML 5&JavaScript环境下保障开发安全
- Apache Mesos 正在投票讨论是否退役