Architectures
当前设备环境下支持的指令架构。真机环境下是armV7、arm64。模拟器环境下是X86_64、 i386、arm64(m1设备)
Build Active Architecture Only
是否只编译当前设备的指令架构。值是YES或者NO。一般Debug环境下,为了提高编译速度,会选择YES,表示只编译当前设备的指令架构。Release环境下,选择NO,编译所有类型设备的指令架构。
Excluded Architecture
排除的架构。排除的架构将不参与编译。例如:这里选择了arm64,编译产物将不会包含arm64指令架构。
VALID_ARCHS
用户自己设置的可用架构。这个选项在User-Defind里面,它的优先级是最高的。如果Architectures支持了很多架构,但是VALID_ARCHS只填写了一小部分,那么实际上支持的架构也是这一小部分。所以VALID_ARCHS的值一般和Architectures保持一致。
EXCLUDED_ARCHS
在Xcode12的release note中,VALID_ARCHS已经不推荐使用了deprecate,我们应该使用EXCLUDED_ARCHS
这个EXCLUDED_ARCHS和Excluded Architecture是同一个意思,所以我们使用Excluded Architecture就好了。
当然,你继续使用VALID_ARCHS也没有什么问题。测试发现,修改VALID_ARCHS仍然会影响编译结果。