-
Target:每個(gè)target對應(yīng)一個(gè)產(chǎn)出物,而且每一個(gè)Project可以有多個(gè)Target
單項(xiàng)目多Target使用場景:
1.項(xiàng)目多版本
2.類庫調(diào)試
3.項(xiàng)目測試
-
DEBUG和Release 主要區(qū)別在于
1.編譯選項(xiàng)不同,Debug編譯時(shí)要求嚴(yán)格,release要求更加穩(wěn)定,性能高(release編譯選項(xiàng)進(jìn)行優(yōu)化)
2.一般release版本沒有調(diào)試日志
項(xiàng)目運(yùn)行時(shí)選擇的是項(xiàng)目的Scheme(用來設(shè)置/描述項(xiàng)目環(huán)境),每個(gè)target都會(huì)默認(rèn)生成一個(gè)對應(yīng)的Scheme
-
Workspace和項(xiàng)目多Target區(qū)別
1.共性: Workspace中項(xiàng)目可以引用同Workspace中的其他項(xiàng)目代碼
2.Workspace&多Target區(qū)分:根據(jù)功能的獨(dú)立性區(qū)分,如果功能獨(dú)立性差(某個(gè)Target的產(chǎn)出物服務(wù)于其他Target產(chǎn)出物),就使用多Target形式;如果功能獨(dú)立性很強(qiáng),則使用Workspace形式
-
項(xiàng)目多版本
1> 在build setting--? LLVM 7.0 - Preprocessing - Preprocessor Macros下添加預(yù)制宏
2> 在Targets列表中賦值Target(復(fù)制時(shí)可選擇Duplicate或Duplicate add Transition iPad)
3> 在代碼中根據(jù)宏判斷不同的項(xiàng)目版本,將不同的內(nèi)容設(shè)置在宏不同的分支中
4> (復(fù)制)生成新的Target作為一個(gè)版本,將其中一個(gè)版本Preprocessor
Macros下的預(yù)制宏刪除