美文网首页
iOS CPU架构(ARM指令集)

iOS CPU架构(ARM指令集)

作者: OwenWong | 来源:发表于2019-07-18 15:23 被阅读0次

    armv6、armv7、armv7s、arm64都是ARM处理器的指令集,所有指令集原则上都是向下兼容的。如 iPhone 4s的CPU默认指令集为armv7指令集,但它可以同时也兼容armv6的指令集,只是在使用armv6的时候无法充分发挥其性能(无法发挥armv7指令集中得新特性)。

    模拟器:

    4s-5: i386
    5s-6s Plus: x86_64

    真机:

    armv6: iPhone、iPhone 2、iPhone 3G、iPod Touch(第一代)、iPod Touch(第二代)
    armv7: iPhone 3Gs、iPhone 4、iPhone 4s、iPad、iPad 2
    armv7s: iPhone 5、iPhone 5c (静态库只要支持了armv7,就可以在armv7s的架构上运行)
    arm64(注:无armv64): iPhone 5s、iPhone 6、iPhone 6 Plus、iPhone 7、iPhone 7PlusPlus、iPad Air、iPad Air2、iPad mini2、iPad mini3

    Build Active Architecture Only

    这个属性设置为YES时,只编译当前的architecture版本(常用于Debug,这样编译速度更快);
    设置为NO时,会编译所有的版本(常用于Release)。

    常见Bug:

    warning: ignoring file /Users/admin/Desktop/xxxxxxDemo/xxx.framework/xxx, file was built for arm64 which is not the architecture being linked (armv7): /Users/admin/Desktop/xxxxxxDemo/xxx.framework/xxx
    

    大概意思就是:制作Framework时选择的是arm64指令集,不支持在armv7指令集的设备上运行。
    解决办法:1、修改framework使其支持armv7;2、在TARGET-Build Settings-Valid Architectures中,将armv7暂时去掉。

    参考文档:
    1、关于iOS设备处理器的指令集
    2、iOS CPU架构(ARM指令集)
    3、iPhone CPU指令集架构

    相关文章

      网友评论

          本文标题:iOS CPU架构(ARM指令集)

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