首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Xcode编译遇到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的选项:

1.5K10
您找到你想要的搜索结果了吗?
是的
没有找到

Rust 视界 | 为 Rust 编译器提速

LLVM 中间代码(BitcodeBitCode 是 LLVM 引入的一种中间代码,它是源码被编译为二进制机器码过程中的中间形态,也就是说,它既不是源码,也不是机器码。...LLVM 在编译过程中会对代码进行优化,这个优化就是基于BitCode来做。对 BitCode 进行各种类型优化,进行某种逻辑等价的交换,从而使得代码执行效率更高,体积更小。...关于 BitCode 更多介绍,可以查看这篇文章:https://xelz.info/blog/2018/11/24/all-you-need-to-know-about-bitcode/ Rust 在...于是作者尝试将其更改为不去压缩 BitCode,这样可以加快一些速度,但也显着增加了磁盘上已编译工件的大小。...于是作者发了一个 RR #66961,希望从 rlib 中不要存储 LLVM BitCode ,否则会导致增量编译的缓存过大。

1.4K10

萝莉有话说:你的App真正适配了iOS 9吗?

Bitcode 开启Bitcode编译后,可以使得开发者上传App时只需上传Intermediate Representation(中间件),而非最终的可执行二进制文件。...其中,Bitcode的机制可以支持动态的进行App Slicing,而对于Apple未来进行硬件升级的措施,此机制可以保证在开发者不重新发布版本的情况下而兼容新的设备。...如果你的应用也准备启用Bitcode编译机制,就需要注意以下几点: Xcode 7默认开启Bitcode,如果应用开启Bitcode,那么其集成的其他第三方库也需要是Bitcode编译的包才能真正进行Bitcode...编译 开启Bitcode编译后,编译产生的.app体积会变大(中间代码,不是用户下载的包),且.dSYM文件不能用来崩溃日志的符号化(用户下载的包是Apple服务重新编译产生的,有产生新的符号文件) 通过...支持ATS及Bitcode特性的SDK即将发布。

1.2K50

LLVM编译过程

iOS中的Bitcode 第三种,即存储在磁盘上的二进制文件(以 .bc 结尾)。...从 Xcode 7 开始,Apple 支持在提交 App 编译产物的同时提交 App 的 Bitcode (非强制),并且之后对提交了 Bitcode 的 App 都单独进行了云端编译打包。...也就是说,即便在提交时已经将本地编译好的 ipa 提交到 App Store,Apple 最终还是会使用 Bitcode 在云端再次打包,并且最终用户下载到手机上的版本也是由 Apple 在云端编译出来的版本...由于 Bitcode 是无关设备架构的,它可以被转化为任何被支持的 CPU 架构,包括现在还没被发明的 CPU 架构。...如果开启了Bitcode苹果会做进一步的优化,有新的后端架构还是可以用这份优化过的Bitcode去生成。

1.9K10
领券