Swift暫時還不支持大多數(shù)的預(yù)處理宏操作,但是可以支持“#if/#else/#endif”語句。
下面進(jìn)行簡單的設(shè)置使 #if DEBUG 有效,
在項目的Build Settings里配置Swift Compiler - Custom Flags,展開Other Swift Flags,在Debug右側(cè)輸入“-DDEBUG”。也可以“-D DEBUG”,但是不能有賦值,如:“-DDEBUG=1” 或 “-D DEBUG=1”都是無效的。
在項目的Build Settings里配置Apple LLVM x.x - Preprocessiong,展開Preprocessor Macros,在Debug右側(cè)默認(rèn)包含“DEBUG=1”,若沒有請手動加入。
說明:第1步使Swift代碼編譯Debug時定義DEBUG標(biāo)記,第2步使Objective-C、C、C++的LLVM預(yù)處理在Debug時定義DEBUG=1宏標(biāo)記。如果是純Swift工程可以忽略第2步。
例子:為Swift和Objective-C混合代碼工程設(shè)置DEBUG和FOO標(biāo)記
根據(jù)步驟1,設(shè)置如圖:

圖片.png
根據(jù)步驟2,設(shè)置如圖:

圖片.png