CocoaPods安裝與使用

CocoaPods簡介:ios

  • CocoaPods 是什麼?git

    • CocoaPods 是開發 OS X 和 iOS 應用程序的一個第三方庫的依賴管理工具。利用 CocoaPods,能夠定義本身的依賴關係 (稱做 pods),而且隨着時間的變化,以 及在整個開發環境中對第三方庫的版本管理很是方便
  • CocoaPods 背後的理念主要體如今兩個方面xcode

    • 在工程中引入第三方代碼 會涉及到許多內容。針對 Objective-C 初級開發者來講,工程文件的配置會讓 人很沮喪
    • 在配置buildphases和linker flags過程當中,會引發許多人爲因素的 錯誤
    • CocoaPods 簡化了這一切,它可以自動配置編譯選項
  • CocoaPods的原理ruby

    • 它是將全部的依賴庫都放到另外一個名爲Pods項目中,而後 讓主項目依賴Pods項目,這樣,源碼管理工做都從主項目移到了Pods項目中
    • 一、Pods項目最終會編譯成一個名爲libPods.a的文件,主項目只須要依賴這個.a 文件便可。
    • 二、對於資源文件,CocoaPods提供了一個名爲Pods-resources.sh的bash腳本, 該腳本在每次項目編譯的時候都會執行,將第三方庫的各類資源文件複製到目 標目錄中。
    • 三、CocoaPods經過一個名爲Pods.xcconfig的文件來在編譯時設置全部的依賴和 參數。

CocoaPods安裝:bash

  • CocoaPods安裝服務器

    • 更新gem (默認MAC OS X已經安裝了gem,可是爲了不安裝過程出現錯誤,因此最好先更新如下gem工具,更新命令以下):
      • sudo gem update --system
    • 更新ruby的軟件源 (有了gem工具,就能夠經過gem去安裝CocoaPads,而CocoaPads工具,就是在ruby的軟件源中。https://rubygems.org/爲國外服務器,http://ruby.taobao.org/是國內服務器。默認CocoaPads是去訪問國外服務器的,而天朝訪問國外服務器比較慢,因此須要訪問國內淘寶服務器上的。)命令以下:
    • 安裝CocoaPods
      • sudo gem install cocoapods  
      • 執行完以上操做,CocoaPods安裝完成,也僅僅是安裝完成。由於cocoaPods是用來集成三方框架的,因此咱們還須要把三方框架的說明文件下載下來。第三方框架的說明文件是一個以podspec爲後綴的文件,注意:只有帶有該文件的第三方框架才支持cocoaPods,不支持cocoaPads的第三方框架仍是老老實實的下載吧。以下圖:
    • 替換CocoaPods的鏡像索引 (目的是爲了設置pod倉庫,由於pod倉庫是用來存儲全部三方框架的後綴爲podspec的描述文件的,同下載cocoaPods同樣,也須要替換下載服務器,從國外服務器轉到國內服務器),命令以下:
    • 設置 pod 倉庫
      • pod setup
    • 測試
      • pod --version
  • 卸載CocoaPods框架

    • sudo gem uninstall cocoapods
  • CocoaPods使用:工具

    • 使用時須要新建一個名爲Podfile的文件
    • 終端建立Profile文件:
    • 將依賴的庫名字依次列在文件中
platform :ios
pod'AFNetworking'
  • 另外,能夠利用cocoapods-xcode-plugin來安裝管理第三方框架,這樣就不須要手動建立 Podflie文件。
    • 須要運行cocoapods-xcode-plugin而且重啓Xcode而後load Bundle
  • 註釋事項
    • 1.利用CocoPods管理類庫後, 之後打開項目就用xxxx.xcworkspace 打開,而不是 以前的.xcodeproj文件
    • 2.每次更改了Podfile文件,你須要從新執行一次pod update命令。
    • 3.CocoaPods在執行pod install和pod update時,會默認先更新一次CocoPods的 spec倉庫索引。使用--no-repo-update參數能夠禁止其作索引更新操做
pod install --no-repo-update
pod update --no-repo-update

  • 如何得知我將要集成的框架是否支持cocoaPods?
    • 終端執行pod search xxx 其中xxx爲框架名稱
    • 若是回車後有結果,則說明該框架支持cocoaPods
相關文章
相關標籤/搜索