多Target的應用場景
一般一個專案會有測試版本和生產版本,有的還可能會有預生產版本等,不同的版本對應的一些引數設定也是不同,如果僅是在一個Target上管理,一是麻煩,二是一旦疏忽了,就容易出錯。所以,這種場景下,多Target就可以很好的解決這個問題,不同的Target設定不用的引數,打包的時候,只需要對不同的Target打包就可以了。
如何去設定多Target
1.建立Target,新建專案之後,會有一個預設的Target,選中此Target,右鍵Duplicate
,會生成一個xxxx copy
的Target,同時,也會生成一個xxxx copy-Info.plist
;

xxxx copy
Target,再次點選修改名字為xxxx_production
;

xxxx copy-Info.plist
的名字為xxxx_production_info.plist
;


Manage schemes
,然後將xxxx copy
修改為xxxx_production
;



1. 在專案的Build Settings裡配置Swift Compiler - Custom Flags,展開Other Swift Flags,在Debug右側輸入“-DDEBUG”。也可以“-D DEBUG”,但是不能有賦值,如:“-DDEBUG=1” 或 “-D DEBUG=1”都是無效的。(針對Swift)
複製程式碼

2. 在專案的Build Settings裡配置Apple LLVM x.x - Preprocessiong,展開Preprocessor Macros,在Debug右側預設包含“DEBUG=1”,若沒有請手動加入。(針對Objective-C、C、C++)
複製程式碼

提示:在程式碼編輯器中,#if 分支的程式碼,條件成立的會有程式碼著色。
複製程式碼