一個 iOS app 配置多個編譯環(huán)境(環(huán)境變量)

前言

現(xiàn)在很多公司的環(huán)境有開發(fā)環(huán)境鲫惶、仿真環(huán)境、生產(chǎn)環(huán)境 那么如何在一個項目中適應(yīng)多種編譯環(huán)境呢

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

新建Build Configuration

  先點擊Project里面找到Configuration猾编,然后選擇添加,這里新加一個Configuration空另。系統(tǒng)默認是2個,一個Debug,一個Release。這里我們需要選擇是復(fù)制一個Debug或者Release城看。Release和Debug的區(qū)別是,Release是不能調(diào)試程序杏慰,因為默認是屏蔽了可調(diào)試的一些參數(shù)测柠,具體可以看BuildSetting里面的區(qū)別,而且Release編譯時有做編譯優(yōu)化逃默,會比用Debug打包出來的體積更小一點鹃愤。
Paste_Image.png

這里我們選擇一個Duplicate “Debug” Configuration,因為我們新的環(huán)境需要debug完域,添加完了之后就會多了一套Configuration了

Paste_Image.png

注意:剛剛新建完Build Configuration之后,這時如果有pod瘩将,請立即執(zhí)行一下
新建完Build Configuration吟税,這個時候需要新建pod里面對應(yīng)的Build Configuration,要不然一會編譯會報錯姿现。如果沒用pod肠仪,可以忽略一下這一段。 新建一個對應(yīng)之前Porject里面新建的Build Configuration

新建Scheme

為新的Configuration新建一個編譯Scheme备典。


Paste_Image.png

新建完成之后异旧,我們就可以編輯剛剛新建的Scheme,這里可以把Run模式和Archive都改成新建Scheme提佣。如下圖:

Paste_Image.png

注意:如果是使用了Git這些協(xié)同工具的同學(xué)這里還需要把剛剛新建的Scheme共享出去吮蛹,否則其他人看不到這個Scheme。選擇“Manage Schemes”

Paste_Image.png

新建User-defined Build Settings

再次回到Project的Build Settings里面來拌屏,Add User-Defined Setting潮针。

Paste_Image.png

我們這里新加入2個參數(shù),CustomAppBundleld是為了之后打包可以分開打成多個包倚喂,這里需要3個不同的Id每篷,建議是直接在原來的Bundleld加上Scheme的名字即可。
這里值得提到的一點是端圈,下面Pods的Build_DIR這些目錄其實是Pods自己生成好的焦读,之前執(zhí)行過Pod install 之后,這里默認都是配置好的舱权,不需要再改動了矗晃。

Paste_Image.png

修改info.plist文件

Paste_Image.png

由于我們新添加了2個CustomAppBundleld 和 CustomProductName,這里我們需要把info.plist里面的Bundle display name修改成我們自定義的這個字典刑巧。編譯過程中喧兄,編譯器會根據(jù)我們設(shè)置好的Scheme去自己選擇Debug无畔,Release

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

使用GCC預(yù)編譯頭參數(shù)GCCPREPROCESSORDEFINITIONS
我們進入到Build Settings里面,可以找到Apple LLVM Preprocessing吠冤,這里我們可以找到Preprocessor Macros在這里浑彰,我們是可以加一些環(huán)境變量的宏定義來標識符。Preprocessor Macros可以根據(jù)不同的環(huán)境預(yù)先制定不同定義的宏拯辙。

Paste_Image.png

打包咯
參考:https://halfrost.com/ios_multienvironments/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末郭变,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子涯保,更是在濱河造成了極大的恐慌诉濒,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件夕春,死亡現(xiàn)場離奇詭異未荒,居然都是意外死亡,警方通過查閱死者的電腦和手機及志,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門片排,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人速侈,你說我怎么就攤上這事率寡。” “怎么了倚搬?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵冶共,是天一觀的道長。 經(jīng)常有香客問我每界,道長捅僵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任盆犁,我火速辦了婚禮命咐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘谐岁。我一直安慰自己醋奠,他們只是感情好,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布伊佃。 她就那樣靜靜地躺著窜司,像睡著了一般。 火紅的嫁衣襯著肌膚如雪航揉。 梳的紋絲不亂的頭發(fā)上塞祈,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機與錄音帅涂,去河邊找鬼议薪。 笑死尤蛮,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的斯议。 我是一名探鬼主播产捞,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼哼御!你這毒婦竟也來了坯临?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤恋昼,失蹤者是張志新(化名)和其女友劉穎看靠,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體液肌,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡挟炬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了矩屁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辟宗。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖吝秕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情空幻,我是刑警寧澤烁峭,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站秕铛,受9級特大地震影響约郁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜但两,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一鬓梅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谨湘,春花似錦绽快、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至擅耽,卻和暖如春活孩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乖仇。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工憾儒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留询兴,地道東北人。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓起趾,卻偏偏與公主長得像诗舰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子阳掐,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

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

  • 前言 談到多環(huán)境始衅,相信現(xiàn)在大多公司都至少有2-3個app環(huán)境了,比如Test環(huán)境缭保,UAT(User Accepta...
    一縷殤流化隱半邊冰霜閱讀 75,890評論 222 776
  • 概述 偶然看到一個很有趣的問題:如何在ios環(huán)境下實現(xiàn)多個環(huán)境同時打包汛闸。 談到多環(huán)境,我想大多公司都至少有2-3個...
    BookKeeping閱讀 3,242評論 1 5
  • 看到一篇對iOS多環(huán)境配置介紹不錯的文章艺骂,翻譯了一下诸老,原文鏈接這里: 原文鏈接 下面的例子展示了如何在Xcode中...
    可了個可閱讀 4,717評論 5 17
  • 需求一:很多公司的app都分成debug環(huán)境和release環(huán)境(多個接口域名),平時開發(fā)和測試都在debug環(huán)境...
    zhq1992閱讀 24,119評論 20 105
  • 人都喜歡表達钳恕,所以我們當中的很多人别伏,都特別喜歡在溝通場景中不斷去強調(diào)自己的觀點。但殊不知忧额,很多時候厘肮,假如對方對你的...
    添寶老師閱讀 124評論 0 0