iPhone 指令集

  各个 CPU 架构支持 iPhone 机型如下:

  ARMv6:iPhone、iPhone 3G、iPod 1G/2G;

  ARMv7:iPhone 3GS、iPhone 4、iPhone 4S、iPod 3G/4G/5G、iPad、iPad 2、iPad 3、iPad Mini;

  ARMv7s:iPhone 5、iPhone 5C、iPad 4;

  ARMv8/ARM64:iPhone 5S、iPad Air、Retina iPad Mini、iPhone 6 之后机型;

  

  可以在 Xcode Build Setting-> Architectures 查看当前 Project 支持的 CPU 指令集。

 

 

 

  对于一些“老旧”的机型,可以选择不支持他们的指令集来减少 App 打包 体积;

  Build Active Architecture Only 选项用于设置是否只编译当前使用设备对应的 ARM 指令集。当选择YES设置时,若你当前连接运行 ARMv7 指令集的设备,只会生成 ARMv7 指令集的包。

  通常情况下,在 Debug 模式设置 YES,在 Release 模式设置 NO;

  指令集都是向下兼容的。比如,你的设备是armv7s指令集,那么它也可以兼容运行比armv7s版本低的指令集:armv7armv6。

 

 

   Xcode 4.5 起不再支持 ARMv6 指令集。

 

  如果App对包大小很敏感,可以通过减少安装包中指令集的数量来试下。

  例如,iPhone 5及之前设备在世面上已经很少见了,毕竟已经发布了近十年了,目前可以选择去除 ARMv7,只保留 ARM64 的指令集,目前所看的市面上主流的App如支付宝、微信(iOS12+)、抖音、百度地图....都已经支持 iPhone 5S 以上设备了,不再支持更早的机型。

 

posted @ 2021-12-14 13:17  ZachRobin  阅读(514)  评论(0编辑  收藏  举报