系統(tǒng)版本判定(編譯期)、預編譯指令#if #ifdef勉吻、常用宏

關于__IPHONE_OS_VERSION_MAX_ALLOWED__IPHONE_OS_VERSION_MIN_REQUIRED

這兩個宏定義(預編譯宏)监婶,大多數(shù)人不太明白,下面是講解齿桃。

__IPHONE_OS_VERSION_MAX_ALLOWED 當前開發(fā)環(huán)境版本(當前開發(fā)環(huán)境的系統(tǒng)SDK版本)

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0

// 當前開發(fā)環(huán)境版本在iOS8.0及以上則編譯此部分代碼

#else

// 如果低于iOS8.0則編譯此部分代碼

#endif

__IPHONE_OS_VERSION_MIN_REQUIRED 系統(tǒng)最低支持版本(也就是當前項目選擇的最低版本)

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_8_0

// 如果選擇(iOS Deployment Target)的最低支持版本在iOS8.0及以上才可以使用

- (void)execute;

#endif

結論__IPHONE_OS_VERSION_MAX_ALLOWED 這個宏得到的是當前開發(fā)環(huán)境的系統(tǒng)SDK版本__IPHONE_OS_VERSION_MIN_REQUIRED 這個宏它是當前項目選擇的最低支持的版本

這兩個宏在開發(fā)時用處比較大惑惶,比如 根據(jù)不同的開發(fā)環(huán)境編譯不同的代碼

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0

// 在 iOS10.0 及以上的開發(fā)環(huán)境 編譯此部分代碼

#else

// 在低于 iOS10.0 的開發(fā)環(huán)境 編譯此部分代碼

#endif



iOS 預編譯指令#if #ifdef #elif #else #endif #import #define的簡單使用

1、#if 編譯預處理中的條件命令, 相當于C語法中的if語句短纵,如果if后判斷為真則執(zhí)行if后面的代碼塊

2带污、#ifdef 判斷某個宏是否被定義, 若已定義, 執(zhí)行隨后的語句-注意只會判斷該宏是否定義,而不會具體判斷語句的正確性

3香到、#ifndef 與#ifdef相反, 判斷某個宏是否未被定義

4刮刑、#elif 若#if, #ifdef, #ifndef或前面的#elif條件不滿足, 則執(zhí)行#elif之后的語句, 相當于C語法中的else-if

5、#else 與#if, #ifdef, #ifndef對應, 若這些條件不滿足, 則執(zhí)行#else之后的語句, 相當于C語法中的else

6养渴、#endif #if, #ifdef, #ifndef這些條件命令的結束標志.

7、#if 與 #ifdef 的區(qū)別:#if是判斷后面的條件語句是否成立泛烙,#ifdef是判斷某個宏是否被定義過理卑。要區(qū)分開!

iOS常用的系統(tǒng)參數(shù)宏:

// 判斷是否是真機

#if TARGET_OS_IPHONE // 在這里一定不能使用#ifdef蔽氨,因為TARGET_OS_IPHONE無論在真機還是模擬器情況下都存在只不過 模擬器時值為0

#else

#endif


// 判斷是否是模擬器

#if TARGET_OS_SIMULATOR // 同上藐唠。"TARGET_IPHONE_SIMULATOR"已經(jīng)廢棄

#else

#endif

// 判斷手機系統(tǒng)版本

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_9_0

#else

#endif

// 規(guī)定只能在ios系統(tǒng)下運行

#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED?? ??

// 規(guī)定運行支持的最小版本

? ? #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_7_0

? ? #else

? ? #endif

#endif

// 可以參照Availability.h 文件? 文件路徑 /Applications/Xcode8.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include 不同Xcode版本路徑略有差異

/**

??#define __IPHONE_2_0? ? ? 20000

??#define __IPHONE_2_1? ? ? 20100

??#define __IPHONE_2_2? ? ? 20200

??#define __IPHONE_3_0? ? ? 30000

??#define __IPHONE_3_1? ? ? 30100

?#define __IPHONE_3_2? ? ? 30200

?#define __IPHONE_4_0? ? ? 40000

?#define __IPHONE_4_1? ? ? 40100

?#define __IPHONE_4_2? ? ? 40200

?#define __IPHONE_4_3? ? ? 40300

?#define __IPHONE_5_0? ? ? 50000

?#define __IPHONE_5_1? ? ? 50100

?#define __IPHONE_6_0? ? ? 60000

?#define __IPHONE_6_1? ? ? 60100

?#define __IPHONE_7_0? ? ? 70000

?#define __IPHONE_7_1? ? ? 70100

??#define __IPHONE_8_0? ? ? 80000

?#define __IPHONE_8_1? ? ? 80100

?#define __IPHONE_8_2? ? ? 80200

?#define __IPHONE_8_3? ? ? 80300

?#define __IPHONE_8_4? ? ? 80400

?#define __IPHONE_9_0? ? ? 90000

?#define __IPHONE_9_1? ? ? 90100

?#define __IPHONE_9_2? ? ? 90200

?#define __IPHONE_9_3? ? ? 90300

?#define __IPHONE_10_0? ? 100000

?#define __IPHONE_10_1? ? 100100

??*/

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末帆疟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子宇立,更是在濱河造成了極大的恐慌踪宠,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件妈嘹,死亡現(xiàn)場離奇詭異柳琢,居然都是意外死亡,警方通過查閱死者的電腦和手機润脸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門柬脸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人毙驯,你說我怎么就攤上這事倒堕。” “怎么了爆价?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵垦巴,是天一觀的道長。 經(jīng)常有香客問我铭段,道長骤宣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任稠项,我火速辦了婚禮涯雅,結果婚禮上,老公的妹妹穿的比我還像新娘展运。我一直安慰自己活逆,他們只是感情好,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布拗胜。 她就那樣靜靜地躺著蔗候,像睡著了一般。 火紅的嫁衣襯著肌膚如雪埂软。 梳的紋絲不亂的頭發(fā)上锈遥,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音勘畔,去河邊找鬼所灸。 笑死,一個胖子當著我的面吹牛炫七,可吹牛的內(nèi)容都是我干的爬立。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼万哪,長吁一口氣:“原來是場噩夢啊……” “哼侠驯!你這毒婦竟也來了抡秆?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤吟策,失蹤者是張志新(化名)和其女友劉穎儒士,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體檩坚,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡着撩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了效床。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片睹酌。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖剩檀,靈堂內(nèi)的尸體忽然破棺而出憋沿,到底是詐尸還是另有隱情,我是刑警寧澤沪猴,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布辐啄,位于F島的核電站,受9級特大地震影響运嗜,放射性物質(zhì)發(fā)生泄漏壶辜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一担租、第九天 我趴在偏房一處隱蔽的房頂上張望砸民。 院中可真熱鬧,春花似錦奋救、人聲如沸岭参。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽演侯。三九已至,卻和暖如春背亥,著一層夾襖步出監(jiān)牢的瞬間秒际,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工狡汉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留娄徊,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓盾戴,卻偏偏與公主長得像寄锐,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355