Xcode user_defined, preprocessor macro和swift compliant參數(shù)的使用和區(qū)別

user_defined

給用戶(hù)定義東西用的咐吼,具體不明


user_defined

preprocesor macro

預(yù)處理宏, oc用的


preprocesor macro

swift compilation conditions

算是Swift宏


swift compilation conditions

Objective-C

OC中一般會(huì)在preprocesor macro中定義DEBUG宏,大家最經(jīng)常用的晚碾,這里定義后牍颈,代碼中就可以用

#ifdef DEBUG
// 你的代碼
endif

或者

#if DEBUG
// 你的代碼
endif

假設(shè)我們想要為app的不同環(huán)境(這里假設(shè)就正式和測(cè)試)煮岁,用不同的參數(shù), 你可能會(huì)在代碼中寫(xiě)

#if DEBUG
#define MaxUploadImageCount 100
#else
#define MaxUploadImageCount 9
#endif

但是如果我不想直接在代碼中寫(xiě)這個(gè)呢冶伞? 那么可以在user_defined中响禽,添加(上面有個(gè)+號(hào))

添加MaxUploadImageCount

然后在preprocessor macro中添加一條芋类, MaxUploadImageCount=${MaxUploadImageCount},

preprocessor macro中添加一條

在代碼用打印MaxUploadImageCount界阁,就會(huì)在不同環(huán)境中變成不同值侯繁,當(dāng)然實(shí)際情景中,這種小參數(shù)不會(huì)這么干泡躯,太大材小用了贮竟,僅作演示

在過(guò)程中嘗試過(guò)较剃,在user_defined定義value為字符串的咕别,預(yù)定義宏可以讀取,但是代碼中一旦使用写穴,編譯不通過(guò)惰拱。

Swift

Swift中已經(jīng)不能在代碼中直接定義宏了啊送,想要條件編譯弓颈,只能提前在active compilation conditions 增加宏,唉删掀!
注意:和oc不一樣的是翔冀, swift中不是真正的宏, 所以你在active compilation conditions添加時(shí)候披泪,不能寫(xiě)DEBUG=1, 你只能寫(xiě)DEBUG纤子。且代碼中都是用
#if而沒(méi)有#ifdef, 但是作用和oc的#ifdef類(lèi)似啦,只有 有和沒(méi)有 兩個(gè)狀態(tài)款票。
今天突發(fā)奇想控硼,不知道swift中能不能讀取到user_defined值? 以及能不能達(dá)到另類(lèi)的預(yù)定義宏艾少?

user_defined加入一個(gè)字符串的

注意: 不能使用"-"號(hào)等無(wú)法在變量中使用的符號(hào)卡乾,會(huì)出錯(cuò)!

然后在active compilation conditions加入一條${TEST_DEFINED}, 保存,發(fā)現(xiàn)似乎在不同配置下生成不一樣的宏缚够,真的可以嘛幔妨?試試鹦赎!

active compilation conditions增加這個(gè)

Swift編譯參數(shù)中成功讀取到:


成功讀取user_defined中定義的

在代碼中使用呢?

在各自配置下误堡,代碼提示會(huì)出來(lái)對(duì)應(yīng)的

在Debug下古话,代碼提示Xiaodong, 在Release下, 會(huì)提示Xiaodong_Release

成功使用

用處呢锁施?

假設(shè)我們配置Swift編譯參數(shù)中為isAppstore=${appstore}陪踩, 在自動(dòng)化打包時(shí)候,如果這次打包的是appstore包悉抵,我想要把這個(gè)信息告訴app肩狂,可自動(dòng)增加user_defined里appstore的release配置下值為"isAppstore", 然后代碼中的isAppstore就生效了姥饰!
添加user_defined值傻谁,實(shí)現(xiàn)動(dòng)態(tài)swift宏效果, 更多用處等待你來(lái)挖掘媳否。僅提供思路栅螟。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市篱竭,隨后出現(xiàn)的幾起案子力图,更是在濱河造成了極大的恐慌,老刑警劉巖掺逼,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吃媒,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡吕喘,警方通過(guò)查閱死者的電腦和手機(jī)赘那,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)氯质,“玉大人募舟,你說(shuō)我怎么就攤上這事∥挪欤” “怎么了拱礁?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)辕漂。 經(jīng)常有香客問(wèn)我呢灶,道長(zhǎng),這世上最難降的妖魔是什么钉嘹? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任鸯乃,我火速辦了婚禮,結(jié)果婚禮上跋涣,老公的妹妹穿的比我還像新娘缨睡。我一直安慰自己鸟悴,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布宏蛉。 她就那樣靜靜地躺著遣臼,像睡著了一般性置。 火紅的嫁衣襯著肌膚如雪拾并。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,301評(píng)論 1 301
  • 那天鹏浅,我揣著相機(jī)與錄音嗅义,去河邊找鬼。 笑死隐砸,一個(gè)胖子當(dāng)著我的面吹牛之碗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播季希,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼褪那,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了式塌?” 一聲冷哼從身側(cè)響起博敬,我...
    開(kāi)封第一講書(shū)人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎峰尝,沒(méi)想到半個(gè)月后偏窝,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡武学,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年祭往,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片火窒。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡硼补,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出熏矿,到底是詐尸還是另有隱情已骇,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布曲掰,位于F島的核電站疾捍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏栏妖。R本人自食惡果不足惜乱豆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吊趾。 院中可真熱鬧宛裕,春花似錦瑟啃、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至岩榆,卻和暖如春错负,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背勇边。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工犹撒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人粒褒。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓识颊,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親奕坟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子祥款,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

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