方式一 : Preprocessor Macros
選擇Target > Build Setting > Preprocessing > Preprocessor Macros
添加預(yù)處理的變量ENVIRONMENT, 不同的target設(shè)置不同的值,比如:
ENVIRONMENT = 0(生產(chǎn)環(huán)境target中) /
ENVIRONMENT=1 (測試環(huán)境target中)/
ENVIRONMENT=2(開發(fā)環(huán)境target中)
建議:如果不同的target只是對業(yè)務(wù)的不同劃分,最好根據(jù)業(yè)務(wù)來命名預(yù)處理的變量。
使用方法:#ifENVIRONMENT == 0// 生產(chǎn)環(huán)境// 要執(zhí)行的代碼#elifENVIRONMENT == 1// 測試環(huán)境// 要執(zhí)行的代碼#else// 開發(fā)環(huán)境// 要執(zhí)行的代碼#endif
方式二 :Custom Compiler Flags
選擇Target > Build Setting > Custom Compiler Flags > Other C Flags
在Other C Flags 添加宏需要使用-D的格式,比如:
-DPRODUCT(生產(chǎn)環(huán)境target中,PRODUCT是定義的宏) /
-DTEST (測試環(huán)境target中,TEST是定義的宏)/
-DDEVELOPMENT(開發(fā)環(huán)境target中,DEVELOPMENT是定義的宏)
同樣建議:如果不同的target只是業(yè)務(wù)的不同劃分,最好根據(jù)業(yè)務(wù)來命名定義的宏。
使用方法:#ifdefPRODUCT// 生產(chǎn)環(huán)境// 要執(zhí)行的代碼#elifTEST// 測試環(huán)境// 要執(zhí)行的代碼#else// 開發(fā)環(huán)境// 要執(zhí)行的代碼#endif
具體配置可以參考: