TARGETS:
- TARGETS:定義了生成的唯一的product,PROJECT會(huì)包含一個(gè)或者多個(gè)TARGETS,每一個(gè) TARGET將會(huì)產(chǎn)出一個(gè)product。TARGETS將構(gòu)建該 product 所需的文件和處理這些文件所需的指令集,并且將這些指令集整合進(jìn)編譯器中。
- 構(gòu)建product的指令集在TARGETS 中的
build settings和build phases中以表格的方式展示,你可以進(jìn)行查看和編輯。A target inherits the project build settings, but you can override any of the project settings by specifying different settings at the target level.TARGET 中的Build Settings參數(shù)繼承自 PROJECT 的Build Settings, 但是你可以在 TARGET 中修改任意Build Settingss->Level來(lái)重寫 PROJECT 的Build Settings。- TARGETS 依賴:如果一個(gè)TARGETS生產(chǎn)的product需要依賴另外一個(gè)TARGETS,可以在
Build Phasess->Target Dependencies。
PROJECT:
- PROJECT 是一個(gè)倉(cāng)庫(kù),里面包含了所有的代碼文件、資源文件和可以編譯一個(gè)或者多個(gè)product的信息。
- PROJECT 包含了一個(gè)或者多個(gè)TARGETS。
- PROJECT 為其擁有的所有 TARGETS 定義了默認(rèn)的
Build Settings。
Build Settings:
Build Settings中包含了 product 生成過(guò)程中所需的參數(shù)信息。
可以在 PROJECT->Build Settings->Level層和 TARGETS->Build Settings->Level層指定 Build Settings。
PROJECT 的 Build Settings 適用于 PROJECT 中的所有TARGETS,當(dāng)TARGETS重寫了Build Settings,編譯是會(huì)以TARGETS中的Build Settings為準(zhǔn)。
導(dǎo)出項(xiàng)目中所有的Build Settings:
$ cd 項(xiàng)目的根目錄
$ xcodebuild -list

終端執(zhí)行的命令結(jié)果.png
$ xcodebuild -scheme "runtime_app" -showBuildSettings >> mynew.xcconfig

mynew中含有Build Settings的所有參數(shù).png

刪除第一行的說(shuō)明.png
創(chuàng)建

image.png
xcconfig 使用
語(yǔ)法
- 注釋:
- 沒(méi)有多行注釋
- 單行注釋以
//開(kāi)頭。
- 包含語(yǔ)句:
- 以
#include開(kāi)頭,后面添加文件路徑。#include "Debug.xcconfig"- 多層路徑的#include:
#include "<DEVELOPER_DIR>/Makefiles/CoreOS/Xcode/BSD.xcconfig"
- 變量:
- 開(kāi)始以
_、大寫字母或者小寫字母,可以含有:_、0~9、a~z、A~Z。- 在兩個(gè)變量名或者變量與值之間使用
=。
- 變量分配
- 如果想使用變量默認(rèn)值,就不用在此變量的
=后面添加任何值。
- 重寫
// Variable set in the project file
OTHER_LDFLAGS = -ObjC
// lib.xcconfig
OTHER_LDFLAGS = -framework Security
編譯時(shí),OTHER_LDFLAGS 會(huì)是-framework Security,-ObjC 會(huì)被-framework Security 重寫。
- 繼承
// Variable set in the project file
OTHER_LDFLAGS = -ObjC
// lib.xcconfig
OTHER_LDFLAGS = $(inherited) -framework Security
編譯時(shí),OTHER_LDFLAGS 會(huì)是-ObjC -framework Security
思維擴(kuò)展
怎么通過(guò)腳本修改,build setting 中的配置數(shù)
參考資料
Xcode使用xcconfig文件配置環(huán)境
Using xcconfig files for your XCode Project
環(huán)境變量配置
The Unofficial Guide to xcconfig files