Architecture相关(一)

1、Architecture (iPhone 指硬件架构)

iphone 1,2,3 是armv6

iphone4,4s 是 armv7

iphone5,5c是armv7s

iphone 5s, 6, 6+, 6s, 6s+ 是arm64

Simulator 不是arm架构而是x86指令集(或i386)

2、Xcode -> Architecture 相关

Architecture相关(一)_第1张图片

Architectures : 标准的架构(包括armv7,arm64)

  • 这个编译选项指定了工程将被编译成支持哪些指令集,支持的指令集数目越多,编译出的二进制数据包越多,造成最终编译的ipa越大。

Valid Architectures : 有效的架构

  • 该编译项指定可能支持的指令集,该列表和Architectures列表的交集,将是Xcode最终生成二进制包所支持的指令集。
  • 比如,你的Valid Architectures设置的支持arm指令集版本有:armv7/armv7s/arm64,对应的Architectures设置的支持arm指令集版本有:armv7s,这时Xcode只会生成一个armv7s指令集的二进制包。

Build Active Architecture Only

  • 该编译项用于设置是否只编译当前使用的设备对应的arm指令集。
  • 通常情况下,该编译选项在Debug模式都设成YES,Release模式都设成NO。

但最终上线时,Apple会为我们的APP重新打包,这样不同Architecture的iphone下载各自对应的ipa,所以并不会影响线上包的大小
所以这些编译选项大多是对我们的平时开发的测试包产生影响

你可能感兴趣的:(Architecture相关(一))