XCode的Build Settings之iOS笔记摘录篇

目录

前言


1. Architectures

Architectures
  1. 各字段说明

Architectures

指定工程将被编译成支持哪些指令集。
支持指令集是通过编译生成对应的二进制数据包实现的,如果支持的指令集数目有多个,就会编译出包含多个指令集代码的数据包,造成最终编译的ipa包很大。

Base SDK

指定编译项目所使用的SDK(API)

Build Active Architectures Only

设置是否只编译当前连接使用的设备对应的arm指令集
建议:Debug模式设成YES,Release模式设成NO

Supported Platforms

指定项目可在哪些平台运行

Valid Architectures

指定可能支持的指令集,
该列表和Architectures列表的交集,将是Xcode最终生成二进制包所支持的指令集
  1. 指令集说明

ARM处理器

几乎所有手机处理器都基于ARM(体积小、低功耗、低成本、高性能)。
ARM处理器指令集有 armv6、armv7、armv7s、arm64

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

不同型号的iOS设备使用不同的指令集

/*
指令集是向下兼容的。
比如,armv7s指令集的设备,可以兼容运行使用armv7、armv6编译的程序。

只编译了arm64版本,项目是不可能跑在iPhone5上面的。
调用了一个只支持arm64的第三方静态库,而项目需要支持armv7和armv7s,这个时候导入这个第三方库编译就会报错。
*/

armv6
    iPhone、iPhone2、iPhone 3G
    iPod 1G、iPod 2G
armv7
    iPhone 3GS、iPhone 4、iPhone 4s
    iPod 3G、iPod 4G、iPod 5G
        iPad、iPad 2、iPad 3、iPad Mini
armv7s
    iPhone 5、iPhone 5C
    iPad 4
arm64
    iPhone 5S   iPhone 6   iPhone 6Plus
    iPad Air, Retina iPad Mini(iPad mini2)

ios模拟器

ios模拟器中没有arm指令集,使用的是Mac的指令集(i386 或 x86_64) 
i386 :32位处理器。
x86_64 :64位处理器。

i386
  iPhone4s~5
x86_64
  iPhone5s及以上机型

待续。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容