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
仍然会影响编译结果。