-ObjC
這個flag告訴鏈接器把庫中定義的Objective-C類和Category都加載進(jìn)來。這樣編譯之后的app會變大(因為加載了其他的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代碼贩绕。
注意:假如你使用了不止一個靜態(tài)庫文件,然后又使用了這個參數(shù)躺翻,那么你很有可能會遇到ld: duplicate symbol錯誤丧叽,因為不同的庫文件里面可能會有相同的目標(biāo)文件
-force_load
這個flag所做的事情跟-all_load其實是一樣的,只是-force_load需要指定要進(jìn)行全部加載的庫文件的路徑公你,這樣的話踊淳,你就只是完全加載了一個庫文件,不影響其余庫文件的按需加載 陕靠,-force_load在xcode3.2后可用迂尝。