iOS中-ObjC和-all_load的區(qū)別

-ObjC

這個flag告訴鏈接器把庫中定義的Objective-C類和Category都加載進(jìn)來。這樣編譯之后的app會變大(因?yàn)榧虞d了其他的objc代碼進(jìn)來)。但是如果靜態(tài)庫中有類和category的話只有加入這個flag才行.

-all_load

這個flag是專門處理-ObjC的一個bug的。用了-ObjC以后,如果類庫中只有category沒有類的時候這些category還是加載不進(jìn)來。變通方法就是加入-all_load或者-force-load。-all_load會強(qiáng)制鏈接器把目標(biāo)文件都加載進(jìn)來,即使沒有objc代碼。-force_load在xcode3.2后可用。但是-force_load后面必須跟一個只想靜態(tài)庫的路徑。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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