iOS-開發(fā)進階01:多環(huán)境配置

iOS 開發(fā)進階 文章匯總

本篇文章主要介紹多環(huán)境配置 & xcconfig文件使用

目錄


一、多環(huán)境配置

多環(huán)境配置主要有以下幾種形式:

  • Project: 包含了項目的所有的代碼媒佣、資源文件匕累、所有信息...
  • Target: 對指定代碼和資源文件的具體構(gòu)建方法
  • Scheme:對指定Target的環(huán)境配置
  • xconfig:將配置寫到對應的文件中
1、創(chuàng)建多Target
  • 通過多Target可對不同的Target設(shè)置不同的Bundle ID用于區(qū)分開發(fā)ID生產(chǎn)ID
  • 也可以針對不同的Target配置不同的App Icon默伍、App Display Name
  • 還可以在Build Phases中針對不同的Target增減編譯的源文件和資源文件
應用場景:僅在開發(fā)Target下測試一個功能

如果是OC代碼中使用DEV預定義宏:

如果是Swift代碼中使用DEV預定義宏:

其中-D的含義查看如下:(也就是將聲明的變量設(shè)置為TRUE)

使用如下代碼即可實現(xiàn):

#if DEV
    NSLog(@"DEV");
#else
    NSLog(@"xxx");
#endif


2欢嘿、創(chuàng)建Scheme

通過添加不同的Scheme對應不同開發(fā)環(huán)境


應用場景:不同的開發(fā)環(huán)境配置不同的HOST

Info.plist中添加如下字段供外界調(diào)用:

使用代碼如下:

NSString *infoPath = [NSBundle.mainBundle pathForResource:@"Info" ofType:@"plist"];
NSDictionary *infoDic = [[NSDictionary alloc] initWithContentsOfFile:infoPath];
NSLog(@"%@",infoDic[@"HOST_URL"]);

通過多Scheme也可以通過Build Settings配置不同的圖標...


3、通過xcconfig文件管理Build Settings中的配置

Pod 中引入的文件就是通過xcconfig文件管理Build Settings中的配置

創(chuàng)建自己的xcconfig文件也糊,并修改系統(tǒng)xcconfig文件配置:

注意:xcconfig文件的命名需要以所在文件夾的名稱作為前綴然后是項目名炼蹦、環(huán)境名稱

使用xcconfig定義不同環(huán)境的HOST_URL

Config-TestCode-debug.xcconfig文件中添加:HOST_URL = http://192.168.1.100

Info.plist中添加如下字段供外界調(diào)用:

使用代碼如下:

NSString *infoPath = [NSBundle.mainBundle pathForResource:@"Info" ofType:@"plist"];
NSDictionary *infoDic = [[NSDictionary alloc] initWithContentsOfFile:infoPath];
NSLog(@"%@",infoDic[@"HOST_URL"]);


Config-TestCode-debug.xcconfig文件中添加動態(tài)庫的配置:OTHER_LDFLAGS = -framework "AFNetworking"
HOST_URL = 192.168.1.100

// ld
OTHER_LDFLAGS = -framework "AFNetworking"

xcconfig文件本質(zhì)就是Key-Value,可以配置Build Settings中的絕大部分字段
xcconfig文件中對應Build Settings中字段的縮寫對應關(guān)系參考: Xcode Build Settings


4、多環(huán)境之間的關(guān)系如下:


二、xcconfig文件沖突解決

如果使用自己創(chuàng)建的xcconfig文件那么執(zhí)行pod install就會提示我們pod生成的xcconfig文件可能不會產(chǎn)生效果叁幢。要解決這個問題就需要在我們自己創(chuàng)建的xcconfig文件中引入pod生成的xcconfig文件:

// 絕對路徑、相對路徑都可以
#include "Pods/Target Support Files/Pods-TestCode/Pods-TestCode.debug.xcconfig"

自己創(chuàng)建的xcconfig文件中存在pod生成的xcconfig文件中相同的字段虑省,那么就會覆蓋pod中的字段,因此要想兩個文件中的字段都生效需要使用繼承標識:

OTHER_LDFLAGS = $(inherited) -framework "AFNetworking"

三僧凰、xconfig文件使用中的問題

1探颈、URL變量中存在//,后面的字符串會被當做注釋
// 通過定義一個變量來解決
SLASH =/
HOST_URL = http:${SLASH}/192.168.1.100
2训措、使用變量時${}和$()包括變量作用相同
3伪节、條件設(shè)置
OTHER_LDFLAGS[config=Debug][sdk=iphonesimulator*][arch=x86_64] = $(inherited) -framework "AFNetworking"

經(jīng)過上述條件設(shè)置后AFNetworking庫僅會在Debug、模擬器绩鸣、X86_64架構(gòu)下編譯
[sdk=iphoneos*]表示真機

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末怀大,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子呀闻,更是在濱河造成了極大的恐慌化借,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捡多,死亡現(xiàn)場離奇詭異蓖康,居然都是意外死亡,警方通過查閱死者的電腦和手機局服,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門钓瞭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來驳遵,“玉大人淫奔,你說我怎么就攤上這事〉探幔” “怎么了唆迁?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵鸭丛,是天一觀的道長。 經(jīng)常有香客問我唐责,道長鳞溉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任鼠哥,我火速辦了婚禮熟菲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘朴恳。我一直安慰自己抄罕,他們只是感情好,可當我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布于颖。 她就那樣靜靜地躺著呆贿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪森渐。 梳的紋絲不亂的頭發(fā)上做入,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天,我揣著相機與錄音同衣,去河邊找鬼竟块。 笑死,一個胖子當著我的面吹牛乳怎,可吹牛的內(nèi)容都是我干的彩郊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蚪缀,長吁一口氣:“原來是場噩夢啊……” “哼秫逝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起询枚,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤违帆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后金蜀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刷后,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年渊抄,在試婚紗的時候發(fā)現(xiàn)自己被綠了尝胆。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡护桦,死狀恐怖含衔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤贪染,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布缓呛,位于F島的核電站,受9級特大地震影響杭隙,放射性物質(zhì)發(fā)生泄漏哟绊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一痰憎、第九天 我趴在偏房一處隱蔽的房頂上張望票髓。 院中可真熱鬧,春花似錦铣耘、人聲如沸炬称。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽玲躯。三九已至,卻和暖如春鳄乏,著一層夾襖步出監(jiān)牢的瞬間跷车,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工橱野, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留朽缴,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓水援,卻偏偏與公主長得像密强,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蜗元,可洞房花燭夜當晚...
    茶點故事閱讀 44,601評論 2 353

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