__has_include()宏的使用介紹

參考文章(推薦直接看原文章):

iOS知識(shí)小集

總結(jié)如下:

__has_include()宏的作用

__has_include()宏接收一個(gè)預(yù)引入的頭文件名稱(引號(hào)或者尖括號(hào)都可以)作為參數(shù),如果該頭文件能夠被引入則返回 1,否則返回 0

用不同的方式引用第三方開(kāi)源庫(kù)則引用頭文件的方式也不同

  • 直接將源碼拖拽到工程中,只能以""的方式import
#import "AFNetworking.h"
  • 使用CocoaPods,如果開(kāi)啟use_framewors!,則將編譯成.framework庫(kù),只能以<>的方式imaport
#import <AFNetworking/AFNetworking.h>"
  • 使用CocoaPods,如果不開(kāi)啟use_framewors!,則將編譯成.a庫(kù),此時(shí)有如下3中方式import。
#import "AFNetworking.h"
// 或者
#import <AFNetworking.h>"
// 或者
#import <AFNetworking/AFNetworking.h>"

因此,如果我們無(wú)法判斷App工程如何引入第三方庫(kù)可以使用如下方式

# if __has_include(<AFNetworking/AFNetworking.h>)
#import <AFNetworking/AFNetworking.h>
#else
#import "AFNetworking.h"
#endif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容