Bitcode适配指南

本文介绍了Bitcode的基本概念,它是Apple为实现App瘦身功能推出的技术。Bitcode是一种中间码,允许Apple在无需开发者提交新版本的情况下对App进行优化。文中详细解释了Bitcode的编译过程,强调了其在iOS、watchOS和Mac OS中的不同应用,并提供了开启Bitcode的设置方法。此外,还探讨了Bitcode与第三方库的兼容性问题,以及如何检查和验证Bitcode的正确嵌入。最后,文章通过打包和连接错误检查,展示了Bitcode在App瘦身中的实际效果。
摘要由CSDN通过智能技术生成

随着XCode7的发布,Apple提供了一项新的技术来支持App瘦身功能,那就是Bitcode。本文章将会结合自己在支持bitcode过程中遇到的问题,来阐述支持bitcode的过程。

BitCode是什么

Bitcode is an intermediate representation of a compiled program. Apps you upload to iTunes Connect that contain bitcode will be compiled and linked on the store. Including bitcode will allow Apple to re-optimize your app binary in the future without the need to submit a new version of your app to the store.
Xcode hides symbols generated during build time by default, so they are not readable by Apple. Only if you choose to include symbols when uploading your app to iTunes Connect would the symbols be sent to Apple. You must include symbols to receive crash reports from Apple.

上述引自Apple的文档 App Thinning (iOS, tvOS, watchOS)

其大概意思是Bitcode类似于一个中间码,被上传到applestore之后,苹果会根据下载应用的用户的手机指令集类型生成只有该指令集的二进制,进行下发。从而达到精简安装包体积的目的。

23.png

一点编译原理

为了更好的理解什么是bitcode,我们简短的看一下编译器编译的过程:

  1. Lexer :读入源文件,并将其转化成字符流

  2. Parser :将字符流转换成AST(抽象语法树)

  3. Semantic Analysis: 对输入的AST进行语法检查。

  4. Code Generation: 代码生成,将AST转换成低层次的IR指令

  5. Optimization: 分析IR指令,将其中潜在会拖慢运行速度的指令干掉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值