美文网首页iOS精品
【iOS】 Build Active Architecture

【iOS】 Build Active Architecture

作者: 794f64d7a292 | 来源:发表于2017-06-23 17:39 被阅读829次

    前两天运营部门提出一个问题:为什么我们的APP不支持iPhone5s以下机型(我们APP最低支持系统版本8.0)?我也是一脸懵逼样,平时都是不支持哪个系统版本的,我还是头一次听说不支持机型的呢!直觉告诉我问题出在armv64、armv7等系统架构上面……

    我在AppStore上搜索我们的APP发现兼容性描述限制了机型!!!

    兼容性.png

    为什么会出现这样的问题呢?

    Build Active Architecture Only.png
    • DebugRelease属性设置为YES时,是为了debug的时候编译速度更快,它只编译当前的architecture版本;
    • 当而设置为NO时,会编译所有的版本;
    • 编译出的版本是向下兼容的,比如你设置值为YES,用iPhone4编译出来的是armv7版本的,iphone5也可以运行,但是armv6的设备就不能运行。
      所以,一般Debug模式可以选择设置为YESRelease的时候要改为NO,以适应不同设备。

    目前为止Apple移动设备默认指令集:

    • armv6:iPhone2G/3G、iPod 1G/2G
    • armv7:iPhone 3GS/4/4s、iPod 3G/4G、iPad 1G/2G/3G、iPad mini
    • armv7s:iPhone5、iPhone5c、iPad4
    • arm64:iPhone5s及以后、iPad Air、iPad mini2
      (Armv6、armv7、armv7s、arm64都是arm处理器的指令集,所有指令集原则上都是向下兼容的。需要注意的是iOS模拟器没有运行arm指令集,编译运行的是x86指令集,所以,只有在iOS设备上,才会执行设备对应的arm指令集。)

    更改设置并发布版本后发现AppStore兼容性描述正常,iPhone5也可以正常下载……

    兼容性.png

    相关文章

      网友评论

        本文标题:【iOS】 Build Active Architecture

        本文链接:https://www.haomeiwen.com/subject/ylwccxtx.html