XCode里的3个重要参数:
-----------------------------------------------------------------------------------------------------------------------
【Architecture】项目可支持的指令集
【Valid architectures】项目编译时的指令集,一般与【Architecture】保持一致,特殊情况见下3
【Build Active Architecture Only】是否只编译基于当前构架的指令集
-----------------------------------------------------------------------------------------------------------------------
1、设置A
优点:IPA包在各个构架上运行最流畅最高效;
缺点:IPA包里需要包含各个构架的指令集(armv6/armv7/armv7s/arm64)体积过大,可能会比设置B多8M左右大小。。。
具体设置方法:
【Valid architectures】= 例如:armv6 armv7 armv7s arm64,因此在不同构架上运行时,会优先调用当前构架的指令集,使代码运行优化高效。
【Build Active Architecture Only】= No
2、设置B
优点:如果想IPA包体积最小,则IPA包里只需要包含能运行的最低构架的指令集即可(高版本指令集会向下兼容低版本);
缺点:在高版本构架上代码可能不是最优化,效率有可能会降低。
具体设置方法:
【Valid architectures】= 项目可以正常运行的最低指令集,现在一般填写armv7即可,即:可以在iPhone 4/4S及以后的机型上运行。
【Build Active Architecture Only】= Yes/No,任意均可。
3、如果项目需要在模拟器上调试,同时项目里有第三方库,可以在真机运行,但是模拟器编译却失败,可能需要增加对i386指令集的支持:
具体设置方法:
【Valid architectures】 = 增加对i386指令集的支持即可,例如:armv7 i386