Xcode - Build Setting


Architectures


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

Valid Architectures

限制可能被支持的指令集的范围,也就是Xcode编译出来的二进制包类型最终从这些类型产生,而编译出哪种指令集的包,将由Architectures与Valid Architectures(因此这个不能为空)的交集来确定

Build Active Architecture Only 定是否只对当前连接设备所支持的指令集编译

当其值设置为YES,这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本,而设置为no时,会编译所有的版本。 所以,一般debug的时候可以选择设置为yes,release的时候要改为no,以适应不同设备。

详细介绍

其中Xcode10 添加新的系统架构arm64e 支持iPhone XS、iPhone XS Max和iPhone XR等设备。


Assets


Asset Pack Manifest URL Prefix 源包清单的下载路径URL前缀

Embed Asset Packs In Product Bundle 是否将资源包嵌入产品的bundle中

Enable On Demand Resources  是否开启按需获取资源功能

On Demand Resources Initial Install Tags 按需加载资源时的初始安装资源文件标签

On Demand Resources Prefetch Order  按需加载资源时预加载的标签顺序

对于支持iOS 9.0及以后的app,按需加载资源是默认开启的。你也可以在target的build settings中手动更改。

Build Locations


Build Products Paths 产品文件和编译中间文件的根目录。产品文件和编译时临时文件都将放在这个目录的子目录中

Intermediate Build Files Path 编译时临时文件的存放位置。编译中间文件格式为product name+.build,如MyProduct.build。

Precompiled Headers Cache Path 预编译头文件缓存存放路径。通过这个配置,Targets可以互相共享预编译的头文件


Build Options

• XCFramework 可以将多个平台(包括iOS设备,iOS模拟器和Mac Catalyst)的二进制框架或库捆绑到一个可分发的 .xcframework包中,开发人员可以在自己的应用程序中使用它。可以将 .xcframework 包添加到 Xcode 目标的链接库阶段,Xcode 在构建时使用所包含的框架或库的正确平台版本。使用 xcodebuild -create-xcframework从命令行创建框架。应该在 Build Libraries for Distribution构建设置为 YES 的情况下构建 XCFramework 中捆绑的框架或库。

Build Libraries for distrbution 

Always Embed Swift Standard Libraries 始终嵌入swift标准库。对于未使用swift代码的情况可以设置为NO。

Build Libraries for distrbution   xcode 构建用于分发的库

Build Variants 可以设定生成产品的变种。您可以创建额外的产品变种作为特殊用途。例如,您可以使用编译配置文件的名称来创建一个高度定制的二进制文件。

Build Variants的值有三个:

normal-用于生成普通的二进制文件;

profile-用于可以生成配置信息的二进制文件;

debug-用于生成带有debug标志、额外断言和诊断代码的二进制文件。

Compiler For C/C++/Objective-C 选择使用的编译器。Xcode8.2默认使用APPLE LLVM 8.0版本的编译器,



参考

iOS 中的 armv7,armv7s,arm64,i386,x86_64 都是什么

Demand Resources Guide中文版

你可能感兴趣的:(Xcode - Build Setting)