1. 程式人生 > >iOS-xcconfig環境變量那些事(配置環境的配置)

iOS-xcconfig環境變量那些事(配置環境的配置)

inf pod 配置文件 border nbsp font style img borde

前言

在配置宏定義參數時,會發現一個問題,在需要臨時修改或者測試一些數據時,修改宏,如果不修改,就多寫一個,註釋掉原來的,然後測試後,再換回來,當然了,如果一兩個宏,可以這樣,但是,如果每次改的比較多,建議用環境變量來配置,也就是用 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 ,終端會有提示路徑,將該路徑復制後引用就可以。

技術分享圖片

技術分享圖片

配置自定義編譯環境

技術分享圖片

技術分享圖片

技術分享圖片

iOS-xcconfig環境變量那些事(配置環境的配置)