在配置宏定義參數時,會發現一個問題,在須要臨時修改或者測試一些數據時,修改宏,若是不修改,就多寫一個,註釋掉原來的,而後測試後,再換回來,固然了,若是一兩個宏,能夠這樣,可是,若是每次改的比較多,建議用環境變量來配置,也就是用 xcconfig 控制 Debug 或 Release編譯時,同一個宏名,取到的值就會不一樣;或許如今的PCH文件裏面是下面這樣的......api
#define API_URL @"http://www.api000.com/" //#define API_URL @"http://1.1.1.12:00000/"
能夠用環境變量來配置,使API_URL的值在Debug和Release不一樣的環境下,各取所需。測試
注意在新建 xcconfig 文件時,勾選加入target。spa
在上一步中,新建了三個 xcconfig 文件,Commonxcconfig.xcconfig 放公共宏或作公共設置,Debugxcconfig.xcconfig作Debug環境,Releasexcconfig.xcconfig作Release環境,而後添加API_URL宏並配置。debug
Debugxcconfig.xcconfig3d
Releasexcconfig.xcconfigcode
Commonxcconfig.xcconfigblog
在 Debugxcconfig.xcconfig 和 Releasexcconfig.xcconfig 中分別引用了:get
Pods/Target Support Files/Pods-TestApp/Pods-TestApp.debug.xcconfigit
Pods/Target Support Files/Pods-TestApp/Pods-TestApp.release.xcconfigio
這是Debug和Release環境下默認的配置文件,在咱們自定義的配置文件中,引用相對應的默認配置。
Commonxcconfig.xconfig中第一個key是GCC_PREPROCESSOR_DEFINITIONS = $(inherited) 後面跟自定義的key,在第一個key後面跟上本身定義的key的時候必定不要回車換行,敲一個空格,而後在同一行後面追加就好了,換行會編譯錯誤, 不能換行。
這樣就能夠用 xcconfig,定義在編譯環境下的宏,若是上一步中 Pods/Target Support Files/Pods-TestApp/Pods-TestApp.debug.xcconfig 和 Pods/Target Support Files/Pods-TestApp/Pods-TestApp.release.xcconfig 路徑不肯定,終端進入項目文件夾,pod install ,終端會有提示路徑,將該路徑複製後引用就能夠。