Xcode中的Architectures设置
原文链接 https://gaoxiaosong.github.io/2014/03/12/set-architectures-in-xcode.html
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。
目前iOS的指令集有以下几种:
- armv6: 支持的机器iPhone 1/2/3, iPod Touch 1G, iPod Touch 2G。
- armv7: 支持的机器iPhone 3GS/4/4S, iPod Touch 3G/4G, iPad 1/2/3。
- armv7s: 支持的机器iPhone 5/5C。
- arm64: 支持的机器iPhone 5S。
机器对指令集的支持是向下兼容的,因此armv7的指令集是可以运行在iPhone 5S的,只是效率没那么高而已。
名词解释:
- Architecture: 指你想支持的指令集。现在一般选择armv7, armv7s, arm64。(选arm64时需要最低支持5.1.1)
- Valid architectures: 指即将编译的指令集。
- Build Active Architecture Only: 只是否只编译当前适用的指令集。
注意事项:
- 如果想自己的APP在各个机器都能够最高效率的运行, 则需要将Build Active Architecture Only改为NO, Valid Architectures选择对应的指令集armv7, armv7s, arm64。这个会为各个指令集编译对应的代码,因此最后的.ipa体积基本翻了3倍。(如果不在乎APP大小的话, 应该这样做)
- 如果想让APP体积保持最小,则现阶段应该选择Valid Architectures为armv7, 这样Build Active Architecture Only选YES或NO就无所谓了。