iOS APP 多環(huán)境配置

談到多環(huán)境惨远,相信現(xiàn)在大多公司都至少有2-3個(gè)app環(huán)境了躯枢,比如Test環(huán)境,預(yù)發(fā)環(huán)境環(huán)境刃泡,Release環(huán)境等等巧娱。當(dāng)需要開發(fā)打多個(gè)包的時(shí)候碉怔,一般常見做法就是直接代碼里面修改環(huán)境變量烘贴,改完之后Archive一下就打包了。當(dāng)然這種做法很正確撮胧,只不過不是很優(yōu)雅很高效桨踪。如果搭建好了Jenkins(搭建教程),我們利用它來優(yōu)雅的打包芹啥。如果利用Jenkins來打包锻离,我們就需要來給app來配置一下多個(gè)環(huán)境變量了铺峭。之后Jenkins分別再不同環(huán)境下自動集成即可。所以也方便了很多汽纠。

一.利用Build Configuration來配置多環(huán)境

由于需要配置多個(gè)環(huán)境卫键,并且多個(gè)環(huán)境都需要安裝到手機(jī)上,那么可以配置Build Configuration來完成這個(gè)任務(wù)虱朵。如果Build Configuration還不熟悉的莉炉,可以先溫習(xí)一下官方文檔

先點(diǎn)擊Project里面找到Configuration碴犬,然后選擇添加絮宁,這里新加一個(gè)Configuration。系統(tǒng)默認(rèn)是2個(gè)服协,一個(gè)Debug绍昂,一個(gè)Release。這里我們需要選擇是復(fù)制一個(gè)Debug還是Release偿荷。Release和Debug的區(qū)別是窘游,Release是不能調(diào)試程序,因?yàn)槟J(rèn)是屏蔽了可調(diào)試的一些參數(shù)跳纳,具體可以看BuildSetting里面的區(qū)別张峰,而且Release編譯時(shí)有做編譯優(yōu)化,會比用Debug打包出來的體積更小一點(diǎn)棒旗。


這里我們選擇一個(gè)Duplicate “Debug” Configuration喘批,因?yàn)槲覀冃碌沫h(huán)境需要debug,添加完了之后就會多了一套Configuration了铣揉,這一套其實(shí)是包含了一些編譯參數(shù)的配置集合饶深。如果此時(shí)項(xiàng)目里面有cocopods的話,打開Configuration Set就會發(fā)現(xiàn)是如下的樣子:

注意:剛剛新建完Build Configuration之后逛拱,這時(shí)如果有pod敌厘,請立即執(zhí)行一下

pod install

如果沒用pod,可以忽略一下這一段朽合。

2. 新建User-defined Build Settings

再次回到Project的Build Settings里面來俱两,Add User-Defined Setting。

我們這里新加入2個(gè)參數(shù)曹步,CustomAppBundleld是為了之后打包可以分開打成多個(gè)包宪彩,這里需要3個(gè)不同的Id,建議是直接在原來的Bundleld加上Configuration的名字即可讲婚。

CustomProductName是為了app安裝到手機(jī)上之后尿孔,手機(jī)上顯示的名字,這里可以按照對應(yīng)的環(huán)境給予描述,例如:測試活合,線上等等雏婶。

修改info.plist文件 和 Images.xcassets

由于我們新添加了2個(gè)CustomAppBundleld 和 CustomProductName,這里我們需要把info.plist里面的Bundle display name修改成我們自定義的這個(gè)字典白指。編譯過程中留晚,編譯器會根據(jù)我們設(shè)置好的Scheme去自己選擇Debug,Release告嘲,TestRelease分別對應(yīng)的ProductName倔丈,如下圖所示:

3. 配置和獲取環(huán)境變量

接下來講幾種動態(tài)配置環(huán)境變量的方法

1. 使用GCC預(yù)編譯頭參數(shù)GCC_PREPROCESSOR_DEFINITIONS

我們進(jìn)入到Build Settings里面,可以找到Apple LLVM Preprocessing状蜗,這里我們可以找到Preprocessor Macros在這里需五,我們是可以加一些環(huán)境變量的宏定義來標(biāo)識符。Preprocessor Macros可以根據(jù)不同的環(huán)境預(yù)先制定不同定義的宏轧坎。

如上圖宏邮,AdHoc = 1 ,DEBUG = 1 ,RELEASE = 1;

有了這些我們預(yù)先設(shè)置的標(biāo)識符之后,我們就可以在代碼里面寫入如下的代碼了缸血。同時(shí)可以配置不同的環(huán)境的域名蜜氨,統(tǒng)計(jì),很多參數(shù)在不同環(huán)境的配置捎泻。

我們可以選擇工程中的Config飒炎,然后點(diǎn)擊Edit scheme, 如圖所示:


然后在運(yùn)行時(shí),就可以選擇Run 笆豁,Info -> Buidl Configuration 中就可以看到之前設(shè)置的Debug , AdHoc , Relaese 郎汪,這樣就可以配置不同的環(huán)境了,不同參數(shù)的設(shè)定都可以根據(jù)自定義的進(jìn)行配置闯狱,如果打包煞赢,也可以選擇Archive ,Build configuration 中也可以設(shè)置Debug , AdHoc ,Release等環(huán)境。

選擇不同的run 的Configuration哄孤,運(yùn)行如下結(jié)果照筑,

可以參考如下demo :iOS 多環(huán)境配置Demo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市瘦陈,隨后出現(xiàn)的幾起案子凝危,更是在濱河造成了極大的恐慌,老刑警劉巖晨逝,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛾默,死亡現(xiàn)場離奇詭異,居然都是意外死亡咏花,警方通過查閱死者的電腦和手機(jī)趴生,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來昏翰,“玉大人苍匆,你說我怎么就攤上這事∨锞眨” “怎么了浸踩?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長统求。 經(jīng)常有香客問我检碗,道長,這世上最難降的妖魔是什么码邻? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任折剃,我火速辦了婚禮,結(jié)果婚禮上像屋,老公的妹妹穿的比我還像新娘怕犁。我一直安慰自己,他們只是感情好己莺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布奏甫。 她就那樣靜靜地躺著,像睡著了一般凌受。 火紅的嫁衣襯著肌膚如雪阵子。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天胜蛉,我揣著相機(jī)與錄音挠进,去河邊找鬼。 笑死誊册,一個(gè)胖子當(dāng)著我的面吹牛奈梳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播解虱,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼攘须,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了殴泰?” 一聲冷哼從身側(cè)響起于宙,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎悍汛,沒想到半個(gè)月后捞魁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡离咐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年谱俭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奉件。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,727評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡昆著,死狀恐怖县貌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情凑懂,我是刑警寧澤煤痕,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站接谨,受9級特大地震影響摆碉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜脓豪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一巷帝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧扫夜,春花似錦锅睛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至望侈,卻和暖如春印蔬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背脱衙。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工侥猬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人捐韩。 一個(gè)月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓退唠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親荤胁。 傳聞我的和親對象是個(gè)殘疾皇子瞧预,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容