__has_include()宏的使用介紹

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

iOS知識小集

總結如下:

__has_include()宏的作用

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

用不同的方式引用第三方開源庫則引用頭文件的方式也不同

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

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

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容