方法一:直接復制全部源文件到項目中
這樣的方法就是把第三方類庫的全部源文件拷貝到項目中,直接把全部.h和.m文件拖到XCode項目中就可以。
注意:
1. 假設第三方類庫引用了一些系統自帶類庫,那么在項目中還須要額外引用那些類庫。
2. 假設當前的項目啟用了ARC,而引用的第三方類庫未使用ARC。那還須要在項目信息的Targets – Build Parses
里找到第三方類庫的.m文件。並為它們加上-fno-objc-arc標記。
3. 對於在未啟用ARC的項目用引用使用了ARC的第三方類庫。則須要為第三方類庫的.m文件加上-fobjc-arc標記。
另外,在源碼中能夠通過一個編譯器指令__has_feature(objc_arc)來檢測項目是否使用了ARC,
詳細見http://clang.llvm.org/docs/LanguageExtensions.html#langext-has-feature-has-extension。
方法二:引用.xcodeproj生成靜態鏈接庫並引用
首先,將要引用的靜態庫及頭文件復制到該項目的文件路徑下,然后,在項目的Targets – Summary – Linked Frameworks and Libraries或者在Targets – Build Phases – Link Binary With Libraries加入第三方類庫生成的靜態鏈接庫引用。接着,還須要在Targets – Build Settings – Search Paths的User Header Search Paths參數中增加第三方類庫的頭文件路徑。能夠是絕對路徑如:/Users/libpath,也能夠是相對路徑(相對於當前項目目錄)如:../**。一般是設置為:” $(PROJECT_DIR)/usr “ (當中usr是項目下的自建的目錄)。網上說有非常多拖.xcodeproj文件的,非常多網上的項目也有.xcodeproj,並且是紅色的。筆者感覺有的.xcodeproj 下有非常多東西,所有引進來。太冗余了,不是必需。
注意:
1. 假設第三方類庫封裝了一些資源在.bundle文件中。那么.bundle文件須要和.xcodeproj一起拖到項目中。
2. 有些靜態鏈接庫引用進來可能還須要添加一些標記。在Targets – Build Settings – Linking的Other Linker Flags參數中添加:-Objc, –all_load這一類標記。
3. 當前項目和第三方類庫同一時候使用了另外的一些第三方類庫。這個時候還須要額外做一些處理才干成功編譯:在引用的第三方類庫的.xcodeproj項目
– Targets – Build Phases中的Compile Sources和Copy Headers把反復的.m和.h文件移除掉。
4. 第三方類庫引用的一些系統自帶類庫。假設項目中沒有引用,也可能會引起編譯錯誤,這時還須要在項目中引用第三方類庫引用的一些系統自帶類庫。
比方:第三方類庫引用了QuartzCore.framework,而項目中未引用QuartzCore.framework則可能引起編譯錯誤。就須要在項目中也引用QuartzCore.framework。
方法三:借助Cocoapods 管理第三方
當你開發iOS應用時,會常常使用到非常多第三方開源類庫,比方JSONKit,AFNetWorking等等。
可能某個類庫又用到其它類庫,所以要使用它。必須得另外下載其它類庫,而其它類庫又用到其它類庫,“子子孫孫無窮盡也”,這或許是比較特殊的情況。總之小編的意思就是,手動一個個去下載所需類庫十分麻煩。第二種常見情況是,你項目中用到的類庫有更新,你必須得又一次下載新版本號,又一次增加到項目中,十分麻煩。假設能有什么工具能解決這些惱人的問題,那將“善莫大焉”。所以。你須要 CocoaPods。
CocoaPods應該是iOS最經常使用最有名的類庫管理工具了,上述兩個煩人的問題,通過cocoaPods,僅僅須要一行命令就能夠全然解決。當然前提是你必須正確設置它。重要的是。絕大部分有名的開源類庫,都支持CocoaPods。所以,作為iOS程序猿的我們,掌握CocoaPods的使用是不可缺少的基本技能了。
cocoapods的具體使用見:
http://code4app.com/article/cocoapods-install-usage
http://mobile.51cto.com/iphone-407056.htm