你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS 編程中引用第三方的方類庫的方法及常見問題

IOS 編程中引用第三方的方類庫的方法及常見問題

編輯:IOS開發綜合

方法一:直接復制所有源文件到項目中

這種方法就是把第三方類庫的所有源文件復制到項目中,直接把所有.h和.m文件拖到XCode項目中即可。

注意:

1. 如果第三方類庫引用了一些系統自帶類庫,那麼在項目中還需要額外引用那些類庫。

2. 如果當前的項目啟用了ARC,而引用的第三方類庫未使用ARC,那還需要在項目信息的TargetsBuild 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 PathsUser Header Search Paths參數中加入第三方類庫的頭文件路徑,可以是絕對路徑如:/Users/libpath,也可以是相對路徑(相對於當前項目文件夾)如:../**。通常是設置為:” $(PROJECT_DIR)/usr “ (其中usr是項目下的自建的文件夾)。網上說有很多拖.xcodeproj文件的,很多網上的項目也有.xcodeproj,而且是紅色的,筆者感覺有的.xcodeproj 下有很多東西,全部引進來,太冗余了,沒必要。

注意:

1. 如果第三方類庫封裝了一些資源在.bundle文件裡,那麼.bundle文件需要和.xcodeproj一起拖到項目中。

2. 有些靜態鏈接庫引用進來可能還需要增加一些標記,在Targets – Build Settings – LinkingOther Linker Flags參數中增加:-Objc, –all_load這一類標記。

3. 當前項目和第三方類庫同時使用了另外的一些第三方類庫,這個時候還需要額外做一些處理才能成功編譯:在引用的第三方類庫的.xcodeproj項目

– Targets – Build Phases中的Compile SourcesCopy 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

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved