iOS--Architectures设置

作者: 指头飞血 | 来源:发表于2018-05-23 12:05 被阅读23次
    打开配置界面的操作如下:

    1.打开工程,然后选择工程导航面板上的工程文件
    2.在编辑器面板上选择--TARGETS--,再选择--Build Settings--选项卡,在搜索条中搜索--Architectures--

    配置步骤.png
    1.Architectures配置

    指定工程被编译成可支持哪些指令集类型,而支持的指令集越多,就会编译出包含多个指令集代码的数据包,对应生成二进制包就越大,也就是ipa包会变大

    Architectures.png
    2.Base SDK配置

    Base SDK-->指的是当前编译所用的SDK 版本
    Base SDK设置会引导编译器使用该版本的SDK编译和构建应用,也就是说,它会直接控制应用使用哪些API. 默认情况下,Xcode中创建的新工程总是使用最新版本的SDK,而苹果会处理API的废弃,如下图:

    Base SDK.png
    3.Build Active Architectures Only配置

    该编译项用于设置是否只编译当前使用的设备对应的arm指令集
    1.设置成YES时,你连上一个armv7指令集的设备,就算你的Valid Architectures和Architectures都设置成armv7/armv7s/arm64,还是依然只会生成一个armv7指令集的二进制包.(该选项起作用的前提是你的Xcode必须成功连接了调试设备! 如果你没有任何活跃设备,即Xcode没有成功连接调试设备,就算该设置项设置成YES依然还会编译Valid Architectures和Architectures指定的二进制包.)
    2.通常情况下,该编译选项在Debug模式都设成YES,Release模式都设成NO
    [图片上传中...(Snip20180523_16.png-dab853-1527045783606-0)]

    Build Active Architectures Only.png
    4.Valid Architectures配置

    指定可能支持的指令集, 该列表和Architectures**列表的交集,将是Xcode最终生成二进制包所支持的指令集 **(因此这个不能为空)

    Valid Architectures.png
    5.Supported Platform 配置

    指定支持的设备平台


    Supported Platform.png

    概念

    1.ARM

    ARM处理器,特点是体积小、低功耗、低成本、高性能, 所以几乎所有手机处理器都基于ARM,在嵌入式系统中应用广泛

    2.ARM处理器指令集

    armv6|armv7|armv7s|arm64都是ARM处理器的指令集,这些指令集都是向下兼容的,例如armv7指令集兼容armv6,只是使用armv6的时候无法发挥出其性能,无法使用armv7的新特性,从而会导致程序执行效率没那么高。
    i386|x86_64 是Mac处理器的指令集,i386是针对intel通用微处理器32架构的. x86_64是针对x86架构的64位处理器. 所以当使用iOS模拟器的时候会遇到i386|x86_64, ios模拟器没有arm指令集

    3.目前iOS的ARM处理器指令集及其支持的设备:

    arm64: iPhone5S以上| iPad Air| iPad mini2(iPad mini with Retina Display)

    armv7s: iPhone5|iPhone5C|iPad4(iPad with Retina Display)

    armv7: iPhone3GS|iPhone4|iPhone4S|iPad|iPad2|iPad3(The New iPad)|iPad mini|iPod Touch 3G|iPod Touch4

    armv6: iPhone, iPhone2, iPhone3G, 第一代、第二代 iPod Touch(一般不需要去支持)

    5.Mac处理器的指令集:

    i386: iPhone4s~5
    x86_64: iPhone5s~

    详解:

    i386是针对intel通用微处理器32位处理器
    x86_64是针对x86架构的64位处理器

    模拟器32位处理器测试需要i386架构,
    模拟器64位处理器测试需要x86_64架构,
    真机32位处理器需要armv7,或者armv7s架构,
    真机64位处理器需要arm64架构。

    相关文章

      网友评论

        本文标题:iOS--Architectures设置

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