app在不同的设备上可以有不同的指令集来运行app。我们可以在项目的build setting中来设置
其中Valid Architectures是可用的指令集选项。
armv7适用于iPhone4和4s
armv7s适用于5和5c
armv64适用于5s
这些指令集一般都是向下兼容的。比如:armv7在5以及5以后的设备中都可以运行,只是效率低点。但是armv7s不能再4上运行。我们可以在Valid Architectures设置项目需要运行的指令集,如果设置3者都有打包出来的ipa就会很大。只设置armv7就比较小。build active architecture only 默认是no的,这样app能够在对应的 设备让运行对应的指令集,这样app运行比较高效。我们在引用第三方库时要注意许多第三方库会有不支持的指令集。如果第三方库没有添加对应指令集更新,我们在Valid Architectures去掉不支持的指令集,向上保留现阶段最原始的armv7,这样可以让app兼容现阶段绝大多数主流设备。