XCODE的相关配置

本文详细介绍了Xcode的配置步骤,包括Preferences的Locations设置、Source Trees的环境变量定义、workspace与project的关系、target和scheme的含义、环境变量的应用,以及构建配置和Build Settings、Build Phases的参数解析,帮助开发者更好地理解和配置Xcode项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1.Preferences->Locations,选择生成路径

这里写图片描述
Derived Data:生成的临时数据

  • Default,默认路径: /Users/用户名/Library/Developer/Xcode/DerivedData
  • Relative,相对路径: 相对于当前工程
  • Custom,固定路径: 自己选择一个默认路径,以后任何工程生成的数据都会到这个路径下

Snapshots:代码快照,方便以后代码回滚
Archives:发布产品


2.Preferences->Source Trees,定义环境变量

在Source Trees 里可以定义一些固定路径,就像环境变量一样,到时候我们可以$(SRCROOT)这样直接使用


3.workspace,project,target,scheme关系

workspace

workspace 是最大的集合,其可以包含多个 projet,同时可以管理不同的 project 之间
的关系。workspace 是以 xcworkspace 的文件形式存在的。(这点和 project 一致)workspace 的存在是为了解决原来仅有 project 的时候不同的 project 之间的引用和调用困难的问题。不同的 project 就是一个个的组件,workspace 把他们组装在一起,project 相互之间独立又有联系。(有的 project 之间可能会有依赖关系)
同时,一个 workspace 的 project 们共用一个编译路径。

Project

Xcode中的 project里面包含了所有的源文件,资源文件和构建一个或者多个product的信息。project利用他们去编译我们所需的product,也帮我们组织它们之间的关系。一个project可以包含一个或者多个target。project定义了一些基本的编译设置,每个target都继承了project的默认设置,每个target可以通过重新设置target的编译选项来定义自己的特殊编译选项。project可以单独存在,或者存在于一个workspace中。

target

target定义了构造一个product所需的文件和编译指令。一个target对应于一个product。target说白了就是
告诉编译系统要编译的文件和编译设置。编译指令就是根据build settings and build phases来确定的。

scheme

scheme定义了编译集合中的若干target,编译时的一些设置以及要执行的测试集合。我们可以定义多个scheme,但是每次只能使用其中一个。我们可以设置scheme保存在project中还是workspace中。如果保存在project中,那么任意包含了这个工程的workspace都可以使用。如果保存在workspace中,那么只有这个workspace可以使用。


4.环境变量

$(BUILT_PRODUCTS_DIR)

build成功后的,最终产品路径--可以在Build Settings参数的Per-configuration Build Products Path项里设置

$(TARGET_NAME)

目标工程名称

$(SRCROOT)

工程文件(比如Nuno.xcodeproj)的路径

$(CURRENT_PROJECT_VERSION)

当前工程版本号

在Build Phases中的Run Script将会使用到环境变量。

查看所有的环境变量宏:

命令行进入工程目录,执行xcodebuild命令并带上“-showBuildSettings”参数:

$ xcodebuild -project HelloWorld.xcodeproj 
-target HelloWorld 
-configuration Debug 
-showBuildSettings 
>xcodebuild_showBuildSettings.txt

5.构建配置

一个Target是指在一个Project中构建的一个产品,它包含了构建该产品的所有文件,以及如何构建该产品的配置。
一个定义好构建过程的Target成为一个Scheme,可在Scheme中定义Target的六种构建过程:Build/Run/Test/Profile/Analyze/Archive。

  • Run 为编译运行调试;
  • Build 为只编译不运行;
  • Analyze 用于进行静态代码分析,可检测潜在的内存泄露(不对称 retain/release 导致的 Potential Leak)或野指针(Use of memory after it is freed)问题。编译时可选择 Build Configuration 为 Debug 沿用证书配置;
  • Profile 将调起 Instruments 工具进行动态代码分析,例如 使用 Allocations/Leaks 动态跟踪分析内存泄露。编译时可选择 Build Configuration 为 Debug沿用证书配置;
  • Test 用于运行测试,模拟器会启动并执行测试套件;
  • Archive 可以Export as Xcode Archive,然后将 .archive 中的 .app 拖入 itunes 可 打包生成 ipa 包。

6.build Settings 参数解析

Architectures:构建产品的CPU指令集

Supported Platforms(OS X、iOS),Base SDK,(Valid)Architectures(armv7、arm64、i386)。
Build Active Architecture Only:一般Debug会选择YES,表示只是编译连接调试的目标真机对应的CPU指令集;对于Release Archive版本,需要选择NO,这样编译出来的安装包才能同时支持在armv7、arm64机型上安装。

Build Locations:配置构建目录,包括临时文件和生成产品文件

包括Intermediate Build Files Path、Build Products Path及其针对Per-Configuration的配置。

Build Options:编译选项

Compiler for C/C++/Objective-C默认时Apple LLVM 7.0;
Debug Information Format:真机连接调试时,可断点定位跟踪调试,可选择DWARF以加快编译速度;但是真机断开Xcode运行出现crash时,没有调试符号将无法逆向解析定位出问题的代码符号及其所在具体位置,故一般要选择DWARF with dSYM File。
此外还包括Bitcode和Testability两个使能开关。

Code Signing:证书选择

包括Entitlements、Identity和Provisioning Profile

Deployment:配置发布及安装选项。

Linking:链接库文件

Other Linker Flags里设置需要链接的库文件

Packaging:打包

Search Paths:

Framework Search Paths: *.framework搜索路径。
Header Search Paths:.h/.hh头文件搜索路径。
Library Search Paths:静态库、动态库搜索路径。

Apple LLVM 7.0配置:

Preprocessing:预定义宏,例如:DEBUG、NDEBUG=1


7.Build Phases 参数解析

Target Dependencies:设置依赖target。
Copy Bundle Resources:拷贝的资源文件。
Compile Sources:该target需要编译的源代码文件。
Link Binary with Libraries:需要链接的库(.a、.framework)。
Run Script:编译链接完成后执行脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值