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

方法一:直接複製所有源文件到項目中css

         這樣的方法就是把第三方類庫的所有源文件複製到項目中。直接把所有.h和.m文件拖到XCode項目中就能夠。html

注意:
xcode

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

        2. 假設當前的項目啓用了ARC。而引用的第三方類庫未使用ARC,那還需要在項目信息的Targets – Build Parsesiphone

            裏找到第三方類庫的.m文件,併爲它們加上-fno-objc-arc標記。工具

        3. 對於在未啓用ARC的項目用引用使用了ARC的第三方類庫,則需要爲第三方類庫的.m文件加上-fobjc-arc標記。post

       另外,在源碼中可以經過一個編譯器指令__has_feature(objc_arc)來檢測項目是否使用了ARC。ui

       具體見http://clang.llvm.org/docs/LanguageExtensions.html#langext-has-feature-has-extensionspa


方法二:引用.xcodeproj生成靜態連接庫並引用code

          首先,將要引用的靜態庫及頭文件複製到該項目的文件路徑下。而後,在項目的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

相關文章
相關標籤/搜索