前言 在配置巨集定義參數時,會發現一個問題,在需要臨時修改或者測試一些數據時,修改巨集,如果不修改,就多寫一個,註釋掉原來的,然後測試後,再換回來,當然了,如果一兩個巨集,可以這樣,但是,如果每次改的比較多,建議用環境變數來配置,也就是用 xcconfig 控制 Debug 或 Release編譯時,同一 ...
前言
在配置巨集定義參數時,會發現一個問題,在需要臨時修改或者測試一些數據時,修改巨集,如果不修改,就多寫一個,註釋掉原來的,然後測試後,再換回來,當然了,如果一兩個巨集,可以這樣,但是,如果每次改的比較多,建議用環境變數來配置,也就是用 xcconfig 控制 Debug 或 Release編譯時,同一個巨集名,取到的值就會不同;或許現在的PCH文件裡面是下麵這樣的......
#define API_URL @"http://www.api000.com/" //#define API_URL @"http://1.1.1.12:00000/"
xcconfig
可以用環境變數來配置,使API_URL的值在Debug和Release不同的環境下,各取所需。
1.新建 xcconfig 文件
註意在新建 xcconfig 文件時,勾選加入target。
2.設置巨集
在上一步中,新建了三個 xcconfig 文件,Commonxcconfig.xcconfig 放公共巨集或做公共設置,Debugxcconfig.xcconfig做Debug環境,Releasexcconfig.xcconfig做Release環境,然後添加API_URL巨集並配置。
Debugxcconfig.xcconfig
Releasexcconfig.xcconfig
Commonxcconfig.xcconfig
在 Debugxcconfig.xcconfig 和 Releasexcconfig.xcconfig 中分別引用了:
Pods/Target Support Files/Pods-TestApp/Pods-TestApp.debug.xcconfig
Pods/Target Support Files/Pods-TestApp/Pods-TestApp.release.xcconfig
這是Debug和Release環境下預設的配置文件,在我們自定義的配置文件中,引用相對應的預設配置。
Commonxcconfig.xconfig中第一個key是GCC_PREPROCESSOR_DEFINITIONS = $(inherited) 後面跟自定義的key,在第一個key後面跟上自己定義的key的時候一定不要回車換行,敲一個空格,然後在同一行後面追加就行了,換行會編譯錯誤, 不能換行。
3.配置環境
這樣就可以用 xcconfig,定義在編譯環境下的巨集,如果上一步中 Pods/Target Support Files/Pods-TestApp/Pods-TestApp.debug.xcconfig 和 Pods/Target Support Files/Pods-TestApp/Pods-TestApp.release.xcconfig 路徑不確定,終端進入項目文件夾,pod install ,終端會有提示路徑,將該路徑複製後引用就可以。
配置自定義編譯環境