Xcode build Settings全解析

在了解build Settings之前先了解下預(yù)備知識(shí),便于更好的學(xué)習(xí)build Settings

一個(gè)程序的生成可以分解為四個(gè)步驟:

預(yù)處理:解析宏定義,進(jìn)行宏替換等治力;
編譯:把預(yù)處理完的文件進(jìn)行一系列詞法、語法、語義分析屈溉,并且優(yōu)化后生成相應(yīng)的匯編代碼;
匯編:匯編器將匯編代碼生成機(jī)器指令抬探,輸出目標(biāo)文件(Object File子巾,所謂的 .o 文件);
鏈接:將目標(biāo)文件組合生成可執(zhí)行文件小压。
其中符號(hào)就是在鏈接過程中使用到的线梗。

鏈接(linking) 是將包含了各種代碼和數(shù)據(jù)片段的目標(biāo)文件收集并組合成為一個(gè)單一文件的過程。鏈接過程中要把多個(gè)不同的目標(biāo)文件之間相互“粘”到一起組合成一個(gè)可執(zhí)行文件怠益,為了使不同目標(biāo)文件之間能夠相互粘合仪搔,這些目標(biāo)文件之間必須有固定的規(guī)則。這些規(guī)則就是目標(biāo)文件中的符號(hào)表信息蜻牢。

在鏈接中烤咧,目標(biāo)文件之間的拼合實(shí)際是目標(biāo)文件之間對(duì)函數(shù)和變量的地址的引用偏陪。比如目標(biāo)文件 B 要用到目標(biāo)文件 A 中的函數(shù) “foo”,那么就成目標(biāo)文件 A 定義了函數(shù) “foo”煮嫌,稱目標(biāo)文件 B 引用了目標(biāo)文件 A 中的函數(shù) “foo”笛谦。定義和引用這兩個(gè)概念同樣適用于變量。每個(gè)函數(shù)或變量都有自己獨(dú)特的名字昌阿,這樣才能避免鏈接過程中不同變量和函數(shù)之間的混淆饥脑。我們將函數(shù)和變量統(tǒng)稱為符號(hào)(Symbol),函數(shù)名或變量名就是符號(hào)名(Symbol Name)懦冰。鏈接的過程好啰,也就是符號(hào)重定位。
源文件先是被編譯成一個(gè)個(gè)目標(biāo)文件, 再由鏈接器把這些目標(biāo)文件組合成一個(gè)可執(zhí)行文件或庫儿奶,鏈接的過程同衣,其核心工作是解決模塊間各種符號(hào)(變量古今,函數(shù))相互引用的問題,對(duì)符號(hào)的引用本質(zhì)是對(duì)其在內(nèi)存中具體地址的引用,因此確定符號(hào)地址是編譯蚯窥,鏈接,加載過程中一項(xiàng)不可缺少的工作诽里,這就是所謂的符號(hào)重定位手负。本質(zhì)上來說,符號(hào)重定位要解決的是當(dāng)前編譯單元如何訪問「外部」符號(hào)這個(gè)問題茬祷。清焕。

為了目標(biāo)文件能夠被正確的拼合,每一個(gè)目標(biāo)文件中都會(huì)有一個(gè)相應(yīng)的符號(hào)表(Symbol Table)祭犯,這個(gè)表里面記錄了目標(biāo)文件中所用到的所有符號(hào)秸妥,每個(gè)定義的符號(hào)有一個(gè)對(duì)應(yīng)的值,叫做符號(hào)值(Symbol Value)沃粗,對(duì)于變量和函數(shù)來說粥惧,符號(hào)值就是它們的地址。

為了理解簡(jiǎn)化最盅,符號(hào)有三類:

全局符號(hào):目標(biāo)文件外可見的符號(hào)突雪,可以被其他目標(biāo)文件引用,或者需要其他目標(biāo)文件定義涡贱;
局部符號(hào):只在目標(biāo)文件內(nèi)可見的符號(hào)咏删,指只在目標(biāo)文件內(nèi)可見的函數(shù)和變量;
調(diào)試符號(hào):包括行號(hào)信息的調(diào)試符號(hào)信息问词,行號(hào)信息中記錄了函數(shù)和變量所對(duì)應(yīng)的文件和文件行號(hào)督函。
對(duì)于 Mac/iOS 平臺(tái),有三類文件包含了符號(hào)信息:

可執(zhí)行文件:特指應(yīng)用的可執(zhí)行文件,包含了代碼和數(shù)據(jù)侨核,可以直接運(yùn)行草穆;
靜態(tài)庫:包含了代碼和數(shù)據(jù),是目標(biāo)文件的集合搓译;鏈接靜態(tài)庫時(shí)悲柱,鏈接器會(huì)從靜態(tài)庫中拷貝所需要的代碼和數(shù)據(jù)到目標(biāo)程序中;
動(dòng)態(tài)庫:包含了代碼和數(shù)據(jù)些己,相比于靜態(tài)庫豌鸡,動(dòng)態(tài)庫在被鏈接時(shí),并沒有拷貝代碼和數(shù)據(jù)到目標(biāo)程序中段标,只有程序在運(yùn)行起來時(shí)涯冠,才會(huì)去動(dòng)態(tài)庫中找到相應(yīng)代碼。
靜態(tài)庫和動(dòng)態(tài)庫都是為了代碼重用的目的而設(shè)計(jì)的逼庞;編寫完的代碼編譯后放到靜態(tài)庫或者動(dòng)態(tài)庫中蛇更,方便其他代碼模塊調(diào)用,從而提高開發(fā)效率赛糟。

iOS編譯粗略的分為編譯和鏈接兩個(gè)派任,xcode build Setting里面有很多跟這兩個(gè)相關(guān)的選項(xiàng)
下面說下常用的一些選項(xiàng)

編譯階段的選項(xiàng)

這里貼一份編譯時(shí)的部分日志,以便于接下來的分析


10.png

User Header Search Paths: 用戶自定義的頭文件的搜索路徑璧南,

Header Search Paths:頭文件的搜索路徑
System Header Search Paths:頭文件的搜索路徑掌逛,實(shí)驗(yàn)發(fā)現(xiàn)跟Header Search Paths一樣
舉個(gè)栗子
import "TestStaticLib/TestExterStaticLib.h",用雙引號(hào)import代表這個(gè)路徑可以從用戶自定義的頭文件的路徑搜索(User Header Search Paths)司倚,當(dāng)然也可以從Header Search Paths搜索

import <TestStaticLib/TestExterStaticLib.h>,只能在Header Search Paths定義的路徑搜索豆混,即使User Header Search Paths定義了該頭文件的路徑,依然會(huì)報(bào)錯(cuò)动知,說找不到頭文件,報(bào)錯(cuò)如下
'TestStaticLib/TestExterStaticLib+TestExterStaticlibCategory.h' file not found with <angled> include; use "quotes" instead

備注下:Search Paths中的路徑加上#import就是這個(gè)頭文件的完整路徑皿伺,要注意下不要重復(fù)路徑
比如:Search Paths中路徑是a/b
import cc.h
那么這個(gè)頭文件的完整路徑就是a/b/cc.h
import dd/cc.h
那么這個(gè)頭文件的完整路徑就是a/b/dd/cc.h

上面編譯日志紅框里面分為三種頭文件路徑
-iquote:來源于User Header Search Paths設(shè)置的路徑
-I:來源于系統(tǒng)自帶的頭文件路徑和Header Search Paths設(shè)置的路徑
-F:來源于Framework search path設(shè)置的路徑

鏈接階段的選項(xiàng)

先看下一個(gè)打包過程中的鏈接日志,下面的知識(shí)對(duì)著日志講解更加清晰拍柒,合理


1.png

Library Search Paths

顧名思義是庫搜索路徑心傀,主要鏈接階段查找符號(hào)使用的,可用于靜態(tài)庫(非framework)拆讯,也可以用于動(dòng)態(tài)庫(非framework),不過用于動(dòng)態(tài)庫沒啥意義养叛,
這里先補(bǔ)充個(gè)知識(shí)點(diǎn):
1.靜態(tài)庫和動(dòng)態(tài)庫是相對(duì)編譯期和運(yùn)行期的:
2.靜態(tài)庫在程序編譯時(shí)會(huì)被鏈接到目標(biāo)代碼中种呐,程序運(yùn)行時(shí)將不再需要改靜態(tài)庫;鏈接時(shí)直接將符號(hào)加入到目標(biāo)文件弃甥,
3.而動(dòng)態(tài)庫在程序編譯時(shí)并不會(huì)被鏈接到目標(biāo)代碼中爽室,只是在程序運(yùn)行時(shí)才被載入,鏈接時(shí)與動(dòng)態(tài)庫中的符號(hào)建立映射關(guān)系淆攻,符號(hào)并不存在目標(biāo)文件中阔墩,帶程序運(yùn)行時(shí)綁定符號(hào)嘿架,所以在使用NM命令 查看目標(biāo)文件符號(hào)時(shí)式,有些符號(hào)時(shí)U(Undefined)的啸箫,這表示這些符號(hào)都是在動(dòng)態(tài)庫中的耸彪,并未在目標(biāo)文件中,需要?jiǎng)討B(tài)鏈接忘苛,都是在程序運(yùn)行期間還需要?jiǎng)討B(tài)庫的存在蝉娜。

綜上所述,
動(dòng)態(tài)庫需要在運(yùn)行時(shí)依然在存在扎唾,而xcode當(dāng)前是不支持將動(dòng)態(tài)庫(非framework)文件嵌入到app召川,只支持將動(dòng)態(tài)的framework嵌入到app中,也就是說app運(yùn)行期間無法保持動(dòng)態(tài)庫(非framework)的存在胸遇,其實(shí)xcode里面動(dòng)態(tài)庫存在感很低荧呐,一般都以動(dòng)態(tài)的framework的形式存在,這里提出動(dòng)態(tài)庫主要用測(cè)試纸镊,在Library Search Paths加入動(dòng)態(tài)庫路徑坛增,僅僅是為了鏈接階段可以找到符號(hào),保證編譯通過薄腻,但是運(yùn)行時(shí)依然報(bào)錯(cuò)
dyld: Library not loaded: /Users/xxx/Library/Developer/Xcode/DerivedData/TestExternal-fmqfkxfqdcpgagdncsypplhslrdu/Build/Products/Debug-iphoneos/libTestExternalDMLib
Referenced from: /private/var/containers/Bundle/Application/AAC23F32-5613-4E7F-9C4A-7A8498A1914B/TestBuildSetting.app/TestBuildSetting
Reason: image not found
因?yàn)闊o法將libTestExternalDMLib嵌入到app文件夾中收捣,所以找不到

Library Search Paths只能定義文件夾路徑,定義具體的庫文件無效庵楷,該文件夾路徑里面存放具體的庫文件罢艾,
比如定義$(SRCROOT)有效
但是定義$(SRCROOT)/libTestExternalStaticLib.a無效
所以Library Search Paths一般需要搭配Other Linker Flags或者Link Binary With Libraries,這兩個(gè)選項(xiàng)都可以設(shè)置庫的名字尽纽,結(jié)合Library Search Paths找出絕對(duì)路徑鏈接咐蚯,這個(gè)稍后再說

看上面日志截圖第1部分(紅框部分),這個(gè)就是xcode buildSetting里面設(shè)置的Library Search Paths弄贿,可以看到都是\color{#FF0000}{大寫的L}開頭春锋,

111.png

從xcode buildSetting截圖可以看出中Library Search Paths有三項(xiàng),跟鏈接日志中的后三項(xiàng)路徑一一相對(duì)應(yīng)差凹,
鏈接日志中第一項(xiàng)是xcode鏈接時(shí)自己生成的庫文件路徑

-L/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos 

這個(gè)很好理解期奔,如果一個(gè)app A和它依賴的靜態(tài)庫B在一個(gè)workspace,那B會(huì)隨著A一起編譯生成A.a,它的路徑就是/${BUILD_DIR}/A.a,即-L/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/A.a危尿,xcode添加這個(gè)庫路徑就是為了找到A.a

再看看第3部分日志(淺藍(lán)色)
里面有個(gè)-lTestExternalStaticLib 這換行呐萌,這就是上面說的相對(duì)于Library Search Paths的路徑
鏈接的時(shí)候會(huì)從Library Search Paths中找出libTestExternalStaticLib.a,進(jìn)行鏈接, libTestExternalStaticLib.a在項(xiàng)目中絕對(duì)路徑是$/SCRROOT/libTestExternalStaticLib.a = /Users/chengjian/work/ios_git_git/TestBuildSetting /libTestExternalStaticLib.a,所以上面的寫法是可以找到庫文件的

這里的表示-l需要從Library Search Paths尋找該庫文件谊娇,指的是相對(duì)路徑肺孤,而且使用-l,搜索庫文件時(shí)會(huì)自動(dòng)加上lib和.a
關(guān)于Library Search Paths這部分就講完了

Framework Search Paths

先看看這個(gè)選項(xiàng)官方的解釋
Space-separated list of directory paths. Specifies directories in which the compiler searches for frameworks to find included header files. This list is passed to the compiler in the gcc -F option. You may specify a recursive path by appending ** to the path. When this build setting is defined, $SDKROOT is added to the end of the path list that is passed to the compiler.、
大概意思是編譯階段和鏈接階段都會(huì)搜索該路徑下的framework文件,以便尋找頭文件和符號(hào)鏈接
這就是說在編譯階段和鏈接階段都會(huì)使用它赠堵,編譯階段用于尋找頭文件小渊,鏈接階段用于尋找?guī)煳募M(jìn)行符號(hào)鏈接,注意Framework Search Paths只能設(shè)置文件夾路徑
看上面編譯階段第一部分日志和鏈接階段第2部分日志可以看出茫叭,F(xiàn)ramework Search Paths最終都是以
-F路徑的形式體現(xiàn)出現(xiàn)的
xcode buildsetting里面設(shè)置的Framework Search Paths也是上面日志中體現(xiàn)出的三個(gè)路徑酬屉,這里就不截圖了

另外如果Framework Search Paths設(shè)置一個(gè)文件夾路徑,那么編譯和鏈接時(shí)都會(huì)從這個(gè)文件夾下面尋找framework文件進(jìn)行編譯和鏈接杂靶,不需要指定具體的framework名字梆惯,這點(diǎn)跟Library Search Paths不一樣
比如:
Framework Search Paths 設(shè)置了一個(gè)$(PROJECT_DIR)/testexter路徑,這個(gè)路徑下面有A.framework和B.framework,那么之后的編譯和鏈接都可以從這兩個(gè).framework尋找頭文件和鏈接符號(hào)吗垮,如果是靜態(tài)framework還會(huì)直接把靜態(tài)framework的代碼鏈接到目標(biāo)文件垛吗,完全不需要指定framework的具體名字

不過以這種文件夾方式(類似于模糊匹配, 文件夾/**的方式)鏈接靜態(tài)framework有個(gè)特點(diǎn),那就是不受Other Linker Flags的參數(shù)(-ObjC,-all_load,-force_load)烁登,這樣有可能導(dǎo)致分類信息找不到怯屉,當(dāng)然也可能減少無用的文件(如果使用-ObjC參數(shù),那么所有精確匹配的靜態(tài)庫文件的所有代碼都會(huì)鏈接到目標(biāo)文件饵沧,不會(huì)刪除無用文件锨络,但是這種模糊匹配的文件不受此影響,進(jìn)而鏈接的時(shí)候會(huì)刪除一些無用代碼狼牺,當(dāng)然這種case主要用于沒有分類的靜態(tài)framework羡儿,可以優(yōu)化下包體積),

在真實(shí)的鏈接過程中搜索庫路徑和frame路徑不僅僅包括buildsetting里面設(shè)置的路徑是钥,它也包括iOS sdk路徑和build out路徑等等掠归,這個(gè)可以從鏈接日志看出

other linker flags

官方解釋
Space-separated list of option specifications. Specifies additional options for linking the binary. These options are passed (as given) to the linker whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate linker build setting to specify a particular linker option before using this build setting.
大概意思就是在鏈接階段添加附加參數(shù),這個(gè)對(duì)應(yīng)上面鏈接日志的第三部分悄泥,

-ObjC 
/Users/xxx/work/ios_git_git/TestBuildSetting/../../../Documents/libTestCC.a 
-lTestExternalStaticLib 

我們使用other linker flags一般只會(huì)使用兩個(gè)功能

1.指定鏈接參數(shù)

-ObjC

一般這個(gè)參數(shù)足夠解決前面提到的問題,這個(gè)flag告訴鏈接器把庫中定義的Objective-C類和Category都加載進(jìn)來虏冻。這樣編譯之后的app會(huì)變大,因?yàn)榧虞d了很多不必要的文件而導(dǎo)致可執(zhí)行文件變大。但是如果靜態(tài)庫中有類和category的話只有加入這個(gè)flag才行,但是-Objc也不是萬能的,當(dāng)靜態(tài)庫中只有分類而沒有類的時(shí)候,Objc就失效了,這就需要使用-all_load或者-force_load了弹囚。這個(gè)筆者做過實(shí)驗(yàn)厨相,即使靜態(tài)庫中只有分類而沒有類的時(shí)候,也會(huì)將分類信息鏈接到目標(biāo)文件鸥鹉,貌似xcode已經(jīng)解決了這個(gè)bug問題

-all_load

-all_load會(huì)強(qiáng)制鏈接器把目標(biāo)文件都加載進(jìn)來蛮穿,即使沒有objc代碼。但是這個(gè)參數(shù)也有一個(gè)弊端,那就是你使用了不止一個(gè)靜態(tài)庫文件宋舷,那么你很有可能會(huì)遇到ld: duplicate symbol錯(cuò)誤绪撵,因?yàn)椴煌膸煳募锩婵赡軙?huì)有相同的目標(biāo)文件 這里會(huì)有兩種方法解決 1:用命令行就行拆包. 2:就是用下面的這個(gè)參數(shù)

-force_load

這個(gè)flag所做的事情跟-all_load其實(shí)是一樣的,只是-force_load需要指定要進(jìn)行全部加載的庫文件的路徑祝蝠,這樣的話,你就只是完全加載了一個(gè)庫文件,不影響其余庫文件的按需加載 .注意-force_load只能加載絕對(duì)路徑绎狭,不能搭配Library Search Paths加載其相對(duì)路徑细溅,而且只能加載庫文件,不能加載framework(ld: can't map file, errno=22 file '/Users/chengjian/work/ios_git_git/TestBuildSetting/testexter/TestExternalStaticFW.framework' for architecture arm64

2.指定加載庫文件或者framework路徑

庫文件可以使用相對(duì)路徑和絕對(duì)路徑
比如
絕對(duì)路徑 :"$(SRCROOT)/libTestExternalStaticLib.a"
相對(duì)路徑:-l"TestExternalStaticLib",從Library Search Paths查找, ,其中Library Search Paths設(shè)置了$(SRCROOT)

framework只能使用絕對(duì)路徑
比如:-framework "TestExternalStaticFW (其中 TestExternalStaticFW真實(shí)路徑是"$(SRCROOT)/testexter/TestExternalStaticFW.frameowork")儡嘶,這樣會(huì) 從Framework Search Paths中設(shè)置的路徑查找該framework
如果Framework Search Paths設(shè)置了$(SRCROOT)/testexter/這個(gè)路徑喇聊,那么可以成功找到

補(bǔ)充:之前說過即使other linker flags沒有設(shè)置任何的具體framework。xcode也可以加載Framework Search Paths設(shè)置的文件夾里面的framework(分為遞歸和非遞歸蹦狂,可以設(shè)置)誓篱,但是這種加載的方式就不受other linker flags里面的參數(shù)控制,比如-ObjC凯楔,這樣就可能出現(xiàn)分類信息找不到的問題窜骄,當(dāng)然另一方面不受other linker flags影響,也可能對(duì)減包有好處摆屯,上面也說過

Build Phases之Link Binary With Libraries

這里提出Link Binary With Libraries,因?yàn)樗彩侵付虞d庫文件或者framework路徑
跟other linker flags很像邻遏,主要區(qū)別是Link Binary With Libraries只能識(shí)別相對(duì)路徑,必須搭配Library Search Paths和Framework Search Paths使用

在Link Binary With Libraries這樣設(shè)置


image.png

就相當(dāng)與在build setting這樣設(shè)置


12.png

它們對(duì)應(yīng)的鏈接日志都是

Ld .............
    -lTestExternalStaticLib 
    -framework 
    TestExternalStaticFW 

當(dāng)然都要配合Library Search Paths和Framework Search Paths一起使用虐骑,不然找不到庫或者Framework文件

Generate Debug Symbols [GCC_GENERATE_DEBUGGING_SYMBOLS]

官方文檔對(duì)這個(gè)設(shè)置的說明:

Enables or disables generation of debug symbols. When debug symbols are enabled, the level of detail can be controlled by the build 'Level of Debug Symbols' setting.

調(diào)試符號(hào)是在編譯時(shí)生成的准验。在Xcode中查看構(gòu)建過程,可以發(fā)現(xiàn)廷没,當(dāng)Generate Debug Symbols選項(xiàng)設(shè)置為YES時(shí)糊饱,每個(gè)源文件在編譯成.o文件時(shí),編譯參數(shù)多了-g和-gmodules兩項(xiàng)颠黎。但鏈接等其他的過程沒有變化另锋。

Clang文檔對(duì)-g的描述是:

Generate complete debug info.

當(dāng)Generate Debug Symbols設(shè)置為YES時(shí),編譯產(chǎn)生的.o文件會(huì)大一些盏缤,當(dāng)然最終生成的可執(zhí)行文件也大一些砰蠢。

當(dāng)Generate Debug Symbols設(shè)置為NO的時(shí)候,在Xcode中設(shè)置的斷點(diǎn)不會(huì)中斷唉铜。但是在程序中打印[NSThread callStackSymbols]台舱,依然可以看到類名和方法名,比如:

** 0 XSQSymbolsDemo 0x00000001000667f4 -[ViewController viewDidLoad] + 100**

在程序崩潰時(shí)潭流,也可以得到帶有類名和方法名的函數(shù)調(diào)用棧

Debug Information Level [CLANG_DEBUG_INFORMATION_LEVEL]

官方文檔的描述是:

Toggles the amount of debug information emitted when debug symbols are enabled. This can impact the size of the generated debug information, which can matter in some cases for large projects (such as when using LTO).

當(dāng)我把Debug Information Level設(shè)置為Line tables only的時(shí)候竞惋,然后構(gòu)建app,每個(gè)源文件在編譯時(shí)灰嫉,都多了一個(gè)編譯參數(shù):-gline-tables-only

Clang的文檔中這樣解釋-gline-tables-only:

Generate line number tables only.

This kind of debug info allows to obtain stack traces with function names, file names and line numbers (by such tools as gdb or addr2line). It doesn’t contain any other data (e.g. description of local variables or function parameters).

這種類型的調(diào)試信息允許獲得帶有函數(shù)名拆宛、文件名和行號(hào)的函數(shù)調(diào)用棧,但是不包含其他數(shù)據(jù)(比如局部變量和函數(shù)參數(shù))讼撒。

所以當(dāng)Debug Information Level設(shè)置為Line tables only的時(shí)候浑厚,斷點(diǎn)依然會(huì)中斷股耽,但是無法在調(diào)試器中查看局部變量的值:

Strip Linked Product [STRIP_INSTALLED_PRODUCT]

在Xcode7.2.1中,Strip Linked Product在DEBUG和RELEASE下均默認(rèn)為YES钳幅。

這是一個(gè)讓我困惑了很久的設(shè)置選項(xiàng)物蝙。當(dāng)我把這一設(shè)置選項(xiàng)改為NO的時(shí)候,最終構(gòu)建生成的app大小沒有任何變化敢艰,這讓我覺得很奇怪诬乞。

原來,Strip Linked Product也受到Deployment Postprocessing設(shè)置選項(xiàng)的影響钠导。在Build Settings中震嫉,我們可以看到,Strip Linked Product是在Deployment這欄中的牡属,而Deployment Postprocessing相當(dāng)于是Deployment的總開關(guān)票堵。

Xcode7.2.1中,Deployment Postprocessing在DEBUG和RELEASE下均默認(rèn)為NO湃望。

現(xiàn)在我們把Deployment Postprocessing設(shè)置為YES换衬,對(duì)比Strip Linked Product設(shè)為YES和NO的這兩種情況,發(fā)現(xiàn)當(dāng)Strip Linked Product設(shè)為YES的時(shí)候证芭,app的構(gòu)建過程多了這樣兩步:

在app構(gòu)建的開始瞳浦,會(huì)生成一些.hmap輔助文件;(為什么會(huì)多出這一步我好像還不太清楚)

在app構(gòu)建的末尾废士,會(huì)執(zhí)行Strip操作叫潦。


13.png

當(dāng)Strip Linked Product設(shè)為YES的時(shí)候,運(yùn)行app官硝,斷點(diǎn)不會(huì)中斷矗蕊,在程序中打印[NSThread callStackSymbols]也無法看到類名和方法名:

** 0 XSQSymbolsDemo 0x000000010001a7f4 XSQSymbolsDemo + 26612**

而在程序崩潰時(shí),函數(shù)調(diào)用棧中也無法看到類名和方法名

Strip Style [STRIP_STYLE]

官方文檔中對(duì)Strip Style的描述:

Defines the level of symbol stripping to be performed on the linked product of the build. The default value is defined by the target's product type. [STRIP_STYLE]

All Symbols - Completely strips the binary, removing the symbol table and relocation information. [all, -s]

Non-Global Symbols - Strips non-global symbols, but saves external symbols. [non-global, -x]

Debugging Symbols - Strips debugging symbols, but saves local and global symbols. [debugging, -S]

選擇不同的Strip Style時(shí)氢架,app構(gòu)建末尾的Strip操作會(huì)被帶上對(duì)應(yīng)的參數(shù)傻咖。

如果選擇debugging symbols的話,函數(shù)調(diào)用棧中岖研,類名和方法名還是可以看到的卿操。

如果我們構(gòu)建的不是一個(gè)app,而是一個(gè)靜態(tài)庫孙援,需要注意害淤,靜態(tài)庫是不可以strip all的。這時(shí)構(gòu)建會(huì)失敗拓售。想想符號(hào)在重定位時(shí)的作用窥摄,如果構(gòu)建的靜態(tài)庫真的能剝離所有符號(hào),那么它也就沒法被鏈接了础淤。

Debug Information Format [DEBUG_INFORMATION_FORMAT]

Xcode7.2.1中崭放,Debug Information Format在DEBUG下默認(rèn)為DWARF哨苛,在RELEASE下默認(rèn)為DWARF with dSYM File。

官方文檔的解釋是:

This setting controls the format of debug information used by the developer tools. [DEBUG_INFORMATION_FORMAT]

DWARF - Object files and linked products will use DWARF as the debug information format. [dwarf]

DWARF with dSYM File - Object files and linked products will use DWARF as the debug information format, and Xcode will also produce a dSYM file containing the debug information from the individual object files (except that a dSYM file is not needed and will not be created for static library or object file products). [dwarf-with-dsym]

當(dāng)Debug Information Format為DWARF with dSYM File的時(shí)候莹菱,構(gòu)建過程中多了一步Generate dSYM File:

164542-a4ac67460d561fb1.png

最終產(chǎn)出的文件也多了一個(gè)dSYM文件移国。

不過吱瘩,既然這個(gè)設(shè)置叫做Debug Information Format道伟,所以首先得有調(diào)試信息。如果此時(shí)Generate Debug Symbols選擇的是NO的話使碾,是沒法產(chǎn)出dSYM文件的蜜徽。

dSYM文件的生成,是在Strip等命令執(zhí)行之前票摇。所以無論Strip Linked Product是否開啟拘鞋,生成的dSYM文件都不會(huì)受影響。

不過正如文檔中所說矢门,無法為靜態(tài)庫生成dSYM文件盆色。即便為給一個(gè)靜態(tài)庫的Debug Information Format設(shè)置為DWARF with dSYM File,構(gòu)建過程中依然不會(huì)有生成dSYM文件的步驟祟剔。

打包的全日志如下



Showing All Messages

Prepare build
note: Using new build systemnote: Planning buildnote: Constructing build description


Build target TestBuildSetting of project TestBuildSetting with configuration Debug

CreateBuildDirectory /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    builtin-create-build-directory /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products

CreateBuildDirectory /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    builtin-create-build-directory /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex

MkDir /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    /bin/mkdir -p /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app

MkDir /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/Frameworks (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    /bin/mkdir -p /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/Frameworks

ProcessProductPackaging /Users/xxx/Library/MobileDevice/Provisioning\ Profiles/327f4b26-0b99-428d-8b29-8882568cd5ce.mobileprovision /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/embedded.mobileprovision (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    builtin-productPackagingUtility /Users/xxx/Library/MobileDevice/Provisioning\ Profiles/327f4b26-0b99-428d-8b29-8882568cd5ce.mobileprovision -o /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/embedded.mobileprovision

WriteAuxiliaryFile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources/Entitlements.plist (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    write-file /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources/Entitlements.plist

ProcessProductPackaging "" /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting.app.xcent (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    

Entitlements:

{
    "application-identifier" = "65T72LT3SH.cj.test.oi.TestBase";
    "com.apple.developer.team-identifier" = 65T72LT3SH;
    "get-task-allow" = 1;
    "keychain-access-groups" =     (
        "65T72LT3SH.cj.test.oi.TestBase"
    );
}


    builtin-productPackagingUtility -entitlements -format xml -o /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting.app.xcent

WriteAuxiliaryFile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/all-product-headers.yaml (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    write-file /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/all-product-headers.yaml

WriteAuxiliaryFile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-project-headers.hmap (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    write-file /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-project-headers.hmap

WriteAuxiliaryFile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting.hmap (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    write-file /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting.hmap

WriteAuxiliaryFile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-own-target-headers.hmap (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    write-file /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-own-target-headers.hmap

WriteAuxiliaryFile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-generated-files.hmap (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    write-file /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-generated-files.hmap

WriteAuxiliaryFile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-all-target-headers.hmap (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    write-file /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-all-target-headers.hmap

WriteAuxiliaryFile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-all-non-framework-target-headers.hmap (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    write-file /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-all-non-framework-target-headers.hmap

DataModelCompile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/ /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/TestBuildSetting.xcdatamodeld (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    /Applications/Xcode.app/Contents/Developer/usr/bin/momc --sdkroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.1.sdk --iphoneos-deployment-target 13.1 --module TestBuildSetting /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/TestBuildSetting.xcdatamodeld /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/

CompileC /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/main.o /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/main.m normal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    export LANG=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -target arm64-apple-ios13.1 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu11 -fobjc-arc -fobjc-weak -fmodules -gmodules -fmodules-cache-path=/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wdocumentation -Wunreachable-code -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror=objc-root-class -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -DDEBUG=1 -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.1.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability -fembed-bitcode-marker -index-store-path /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Index/DataStore -iquote /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-generated-files.hmap -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-own-target-headers.hmap -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-all-target-headers.hmap -iquote /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-project-headers.hmap -iquote /Users/xxx/work/project/TestStaticLib -iquote /Users/xxx/work/project/TestExternalDMLib/TestExternalDMLib -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/include -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources-normal/arm64 -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources/arm64 -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources -F/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos -F/Users/xxx/work/ios_git_git/TestBuildSetting/testexter -F/Users/xxx/work/ios_git_git/TestBuildSetting/testexter -MMD -MT dependencies -MF /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/main.d --serialize-diagnostics /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/main.dia -c /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/main.m -o /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/main.o

CompileC /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/AppDelegate.o /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/AppDelegate.m normal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    export LANG=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -target arm64-apple-ios13.1 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu11 -fobjc-arc -fobjc-weak -fmodules -gmodules -fmodules-cache-path=/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wdocumentation -Wunreachable-code -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror=objc-root-class -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -DDEBUG=1 -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.1.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability -fembed-bitcode-marker -index-store-path /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Index/DataStore -iquote /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-generated-files.hmap -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-own-target-headers.hmap -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-all-target-headers.hmap -iquote /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-project-headers.hmap -iquote /Users/xxx/work/project/TestStaticLib -iquote /Users/xxx/work/project/TestExternalDMLib/TestExternalDMLib -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/include -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources-normal/arm64 -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources/arm64 -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources -F/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos -F/Users/xxx/work/ios_git_git/TestBuildSetting/testexter -F/Users/xxx/work/ios_git_git/TestBuildSetting/testexter -MMD -MT dependencies -MF /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/AppDelegate.d --serialize-diagnostics /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/AppDelegate.dia -c /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/AppDelegate.m -o /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/AppDelegate.o

CompileC /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/ViewController.o /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/ViewController.m normal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    export LANG=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -target arm64-apple-ios13.1 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu11 -fobjc-arc -fobjc-weak -fmodules -gmodules -fmodules-cache-path=/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wdocumentation -Wunreachable-code -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror=objc-root-class -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -DDEBUG=1 -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.1.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability -fembed-bitcode-marker -index-store-path /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Index/DataStore -iquote /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-generated-files.hmap -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-own-target-headers.hmap -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-all-target-headers.hmap -iquote /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-project-headers.hmap -iquote /Users/xxx/work/project/TestStaticLib -iquote /Users/xxx/work/project/TestExternalDMLib/TestExternalDMLib -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/include -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources-normal/arm64 -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources/arm64 -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources -F/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos -F/Users/xxx/work/ios_git_git/TestBuildSetting/testexter -F/Users/xxx/work/ios_git_git/TestBuildSetting/testexter -MMD -MT dependencies -MF /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/ViewController.d --serialize-diagnostics /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/ViewController.dia -c /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/ViewController.m -o /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/ViewController.o

CompileC /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/TestMockHeader.o /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/TestMockHeader.m normal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    export LANG=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -target arm64-apple-ios13.1 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu11 -fobjc-arc -fobjc-weak -fmodules -gmodules -fmodules-cache-path=/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wdocumentation -Wunreachable-code -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror=objc-root-class -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -DDEBUG=1 -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.1.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability -fembed-bitcode-marker -index-store-path /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Index/DataStore -iquote /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-generated-files.hmap -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-own-target-headers.hmap -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-all-target-headers.hmap -iquote /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-project-headers.hmap -iquote /Users/xxx/work/project/TestStaticLib -iquote /Users/xxx/work/project/TestExternalDMLib/TestExternalDMLib -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/include -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources-normal/arm64 -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources/arm64 -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources -F/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos -F/Users/xxx/work/ios_git_git/TestBuildSetting/testexter -F/Users/xxx/work/ios_git_git/TestBuildSetting/testexter -MMD -MT dependencies -MF /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/TestMockHeader.d --serialize-diagnostics /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/TestMockHeader.dia -c /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/TestMockHeader.m -o /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/TestMockHeader.o

CompileC /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/SceneDelegate.o /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/SceneDelegate.m normal arm64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    export LANG=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -target arm64-apple-ios13.1 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu11 -fobjc-arc -fobjc-weak -fmodules -gmodules -fmodules-cache-path=/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/Users/xxx/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wdocumentation -Wunreachable-code -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror=objc-root-class -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -DDEBUG=1 -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.1.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -Wno-sign-conversion -Winfinite-recursion -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wno-semicolon-before-method-body -Wunguarded-availability -fembed-bitcode-marker -index-store-path /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Index/DataStore -iquote /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-generated-files.hmap -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-own-target-headers.hmap -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-all-target-headers.hmap -iquote /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-project-headers.hmap -iquote /Users/xxx/work/project/TestStaticLib -iquote /Users/xxx/work/project/TestExternalDMLib/TestExternalDMLib -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/include -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources-normal/arm64 -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources/arm64 -I/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/DerivedSources -F/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos -F/Users/xxx/work/ios_git_git/TestBuildSetting/testexter -F/Users/xxx/work/ios_git_git/TestBuildSetting/testexter -MMD -MT dependencies -MF /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/SceneDelegate.d --serialize-diagnostics /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/SceneDelegate.dia -c /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/SceneDelegate.m -o /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/SceneDelegate.o

WriteAuxiliaryFile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/TestBuildSetting.LinkFileList (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    write-file /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/TestBuildSetting.LinkFileList

Ld /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/TestBuildSetting normal arm64 (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target arm64-apple-ios13.1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.1.sdk 
    
    -L/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos 
    -L/Users/xxx/work/ios_git_git/TestBuildSetting/../../../Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/SDWebImage 
    -L/Users/xxx/work/ios_git_git/TestBuildSetting 
    -L/Users/xxx/work/ios_git_git/TestBuildSetting 
    
    -F/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos 
    -F/Users/xxx/work/ios_git_git/TestBuildSetting/testexter/ 
    -F/Users/xxx/work/ios_git_git/TestBuildSetting/testexter -filelist 
    
    /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/TestBuildSetting.LinkFileList 
    -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -map -Xlinker 
    /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting-LinkMap-normal-arm64.txt 
    -dead_strip -Xlinker -object_path_lto -Xlinker /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/TestBuildSetting_lto.o 
    -Xlinker -export_dynamic -Xlinker -no_deduplicate -fembed-bitcode-marker -fobjc-arc -fobjc-link-runtime 
    
    -ObjC 
    /Users/xxx/work/ios_git_git/TestBuildSetting/../../../Documents/libTestCC.a 
    -lTestExternalStaticLib 
    
    -Xlinker -dependency_info -Xlinker /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Objects-normal/arm64/TestBuildSetting_dependency_info.dat 
    -o /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/TestBuildSetting

ld: warning: directory not found for option '-L/Users/xxx/work/ios_git_git/TestBuildSetting/../../../Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/SDWebImage'

CompileAssetCatalog /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/Assets.xcassets (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    /Applications/Xcode.app/Contents/Developer/usr/bin/actool --output-format human-readable-text --notices --warnings --export-dependency-info /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/assetcatalog_dependencies --output-partial-info-plist /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/assetcatalog_generated_info.plist --app-icon AppIcon --compress-pngs --enable-on-demand-resources YES --filter-for-device-model iPhone10,2 --filter-for-device-os-version 13.1.2 --sticker-pack-identifier-prefix cj.test.oi.TestBase.sticker-pack. --development-region en --target-device iphone --target-device ipad --minimum-deployment-target 13.1 --platform iphoneos --product-type com.apple.product-type.application --compile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/Assets.xcassets

/* com.apple.actool.compilation-results */
/Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/assetcatalog_generated_info.plist


CompileStoryboard /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/Base.lproj/Main.storyboard (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    export XCODE_DEVELOPER_USR_PATH=/Applications/Xcode.app/Contents/Developer/usr/bin/..
    /Applications/Xcode.app/Contents/Developer/usr/bin/ibtool --errors --warnings --notices --module TestBuildSetting --output-partial-info-plist /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Base.lproj/Main-SBPartialInfo.plist --auto-activate-custom-fonts --target-device iphone --target-device ipad --minimum-deployment-target 13.1 --output-format human-readable-text --compilation-directory /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Base.lproj /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/Base.lproj/Main.storyboard

CompileStoryboard /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/Base.lproj/LaunchScreen.storyboard (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    export XCODE_DEVELOPER_USR_PATH=/Applications/Xcode.app/Contents/Developer/usr/bin/..
    /Applications/Xcode.app/Contents/Developer/usr/bin/ibtool --errors --warnings --notices --module TestBuildSetting --output-partial-info-plist /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Base.lproj/LaunchScreen-SBPartialInfo.plist --auto-activate-custom-fonts --target-device iphone --target-device ipad --minimum-deployment-target 13.1 --output-format human-readable-text --compilation-directory /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Base.lproj /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/Base.lproj/LaunchScreen.storyboard

ProcessInfoPlistFile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/Info.plist /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/Info.plist (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    builtin-infoPlistUtility /Users/xxx/work/ios_git_git/TestBuildSetting/TestBuildSetting/Info.plist -producttype com.apple.product-type.application -genpkginfo /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/PkgInfo -expandbuildsettings -format binary -platform iphoneos -additionalcontentfile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Base.lproj/LaunchScreen-SBPartialInfo.plist -additionalcontentfile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Base.lproj/Main-SBPartialInfo.plist -additionalcontentfile /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/assetcatalog_generated_info.plist -requiredArchitecture arm64 -o /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/Info.plist

LinkStoryboards (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    export XCODE_DEVELOPER_USR_PATH=/Applications/Xcode.app/Contents/Developer/usr/bin/..
    /Applications/Xcode.app/Contents/Developer/usr/bin/ibtool --errors --warnings --notices --module TestBuildSetting --target-device iphone --target-device ipad --minimum-deployment-target 13.1 --output-format human-readable-text --link /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Base.lproj/LaunchScreen.storyboardc /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/Base.lproj/Main.storyboardc

PBXCp /Users/xxx/work/ios_git_git/TestBuildSetting/testexter/TestExternalDMLib.framework /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/Frameworks/TestExternalDMLib.framework (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -exclude Headers -exclude PrivateHeaders -exclude Modules -exclude \*.tbd -bitcode-strip replace-with-marker -bitcode-strip-tool /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip -resolve-src-symlinks /Users/xxx/work/ios_git_git/TestBuildSetting/testexter/TestExternalDMLib.framework /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/Frameworks

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bitcode_strip /Users/xxx/work/ios_git_git/TestBuildSetting/testexter/TestExternalDMLib.framework/TestExternalDMLib -m -o /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/Frameworks/TestExternalDMLib.framework/TestExternalDMLib 
CodeSign /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/Frameworks/TestExternalDMLib.framework (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    
Signing Identity:     "Apple Development: cj3479@126.com (J67S4W3KWM)"
Provisioning Profile: "iOS Team Provisioning Profile: cj.test.oi.TestBase"
                      (327f4b26-0b99-428d-8b29-8882568cd5ce)

    /usr/bin/codesign --force --sign 3D08DC409A9B67635F36B86060790837B37C783B --timestamp=none --preserve-metadata=identifier,entitlements,flags /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/Frameworks/TestExternalDMLib.framework

Strip /Users/chengjian/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/TestBuildSetting (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/chengjian/work/ios_git_git/TestBuildSetting
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip /Users/chengjian/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app/TestBuildSetting

CodeSign /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    
Signing Identity:     "Apple Development: cj3479@126.com (J67S4W3KWM)"
Provisioning Profile: "iOS Team Provisioning Profile: cj.test.oi.TestBase"
                      (327f4b26-0b99-428d-8b29-8882568cd5ce)

    /usr/bin/codesign --force --sign 3D08DC409A9B67635F36B86060790837B37C783B --entitlements /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Intermediates.noindex/TestBuildSetting.build/Debug-iphoneos/TestBuildSetting.build/TestBuildSetting.app.xcent --timestamp=none /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app

Validate /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    builtin-validationUtility /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app

Touch /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app (in target 'TestBuildSetting' from project 'TestBuildSetting')
    cd /Users/xxx/work/ios_git_git/TestBuildSetting
    /usr/bin/touch -c /Users/xxx/Library/Developer/Xcode/DerivedData/TestBase-bhnupfuqhrrdlodaigjeavintpjb/Build/Products/Debug-iphoneos/TestBuildSetting.app



Build succeeded    2019/12/24, 12:05 PM    1.7 seconds


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末隔躲,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子物延,更是在濱河造成了極大的恐慌宣旱,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叛薯,死亡現(xiàn)場(chǎng)離奇詭異浑吟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)耗溜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門组力,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人抖拴,你說我怎么就攤上這事燎字。” “怎么了城舞?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵轩触,是天一觀的道長。 經(jīng)常有香客問我家夺,道長脱柱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任拉馋,我火速辦了婚禮榨为,結(jié)果婚禮上惨好,老公的妹妹穿的比我還像新娘。我一直安慰自己随闺,他們只是感情好日川,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著矩乐,像睡著了一般龄句。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上散罕,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天分歇,我揣著相機(jī)與錄音,去河邊找鬼欧漱。 笑死职抡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的误甚。 我是一名探鬼主播缚甩,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼窑邦!你這毒婦竟也來了擅威?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤奕翔,失蹤者是張志新(化名)和其女友劉穎裕寨,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體派继,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宾袜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了驾窟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片庆猫。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖绅络,靈堂內(nèi)的尸體忽然破棺而出月培,到底是詐尸還是另有隱情,我是刑警寧澤恩急,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布杉畜,位于F島的核電站,受9級(jí)特大地震影響衷恭,放射性物質(zhì)發(fā)生泄漏此叠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一随珠、第九天 我趴在偏房一處隱蔽的房頂上張望灭袁。 院中可真熱鬧猬错,春花似錦、人聲如沸茸歧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽软瞎。三九已至逢唤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間铜涉,已是汗流浹背智玻。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留芙代,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓盖彭,卻偏偏與公主長得像纹烹,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子召边,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354