引言:
CocoaPods是一個可以幫你集中管理第三方庫的開源項目,運作在Ruby的環境下,基于GitHub托管優勢,你可以很友善的查閱目前依賴于CocoaPods的資源.
并且,CocoaPods是可靠,穩定,安全的.可以為你在使用第三方庫資源時節省大部分的配置和部署時間.更專心的專注于Coding!
部署的環境:
硬體:Retina Macbook Pro
軟體:OS X Mountain Lion 10.10.1
Ruby版本:2.2.0
參考文章:
1:如何安裝Ruby(如果打不開請使用百度快照)
<a target="_blank" href="http://www.zikercn.com/node/41">http://www.zikercn.com/node/41</a>
2:如何使用CocoaPods
<a target="_blank" href="http://blog.devtang.com/blog/2012/12/02/use-cocoapod-to-manage-ios-lib-dependency/">http://blog.devtang.com/blog/2012/12/02/use-cocoapod-to-manage-ios-lib-dependency/</a>
3:Ruby中國針對2.0.0釋出文章:
<a target="_blank" href="http://ruby-china.org/topics/8896">http://ruby-china.org/topics/8896</a>
4:如果安裝失敗,請參考下面兩貼
<a target="_blank" href="http://stackoverflow.com/questions/9626729/how-do-you-install-build-ruby-1-9-3-on-osx-lion">http://stackoverflow.com/questions/9626729/how-do-you-install-build-ruby-1-9-3-on-osx-lion</a>
<a target="_blank" href="http://stackoverflow.com/questions/14592945/cannot-compile-ruby-1-9-3/14594287#14594287">http://stackoverflow.com/questions/14592945/cannot-compile-ruby-1-9-3/14594287#14594287</a>
5:Use CocoaPods With Swift (在 Swift 中使用 CocoaPods)
<a target="_blank" href="http://andelf.github.io/blog/2014/06/23/use-cocoapods-with-swift/">http://andelf.github.io/blog/2014/06/23/use-cocoapods-with-swift/</a>
第一步:安裝Brew
第二步:更新Ruby:
通過Brew将Ruby更新到最新版本,OS X 已經自帶了Ruby不過版本偏低.
更新成功以後重新開機終端,并執行以下指令來檢查一下Ruby和gem目前使用的版本:

第三步:通過gem安裝CocoaPods
接下來開始安裝CocoaPods.在安裝之前,還需要将XCode裡的Command line工具安裝好.如下圖所示:
安裝成功後以後回到Shell,輸入如下指令:
指令:sudo gem install cocoapods
指令:pod setup
pod setup指令執行後原理是将Spec項目複制到目前使用者的.cocoapods\master目錄下,以後的查找、安裝使用都是基于該本地目錄的.
安裝成功後,就可以嘗試使用了,以後更新新版本的Spec項目隻需要再次執行pod setup即可
使用Search指令來看看你需要的第三方庫是否存在!
指令:pod search SDWebImage
到此,CocoaPods的安裝就完成了.
第四步,使用CocoaPods
接下來,你需要建立一個主工程.建立成功以後,再次啟動終端, 利用cd指令進入到工程檔案夾内,此時需要建立一個特殊的文本檔案,指令如下:
指令: touch Podfile 建立
指令: open -e Podfile 打開
此時,Mac應該是自動打開記事本. 接下來就開始加入我們要使用的庫了.
示例:
上面的代碼中:指定了平台最低支援的版本
pod通過Search查到的庫 如果沒有指定版本号,那麼配置出來的版本是最新版.
對這個文本檔案儲存以後,執行如下指令:
指令:pod install
在每次執行前請確定終端所處于的檔案夾目錄已經是目前目錄. 否則将安裝失敗.
另外本次成功安裝以後,如果 SDWebImage 的作者更新了它的庫并送出到了CocoaPods裡面,此時我們也想在項目中使用新版本的SDWebImage. 這個時候需要執行如下指令:
指令:pod update
和pod install指令一樣 需要将終端所處于的檔案夾目錄是目前Podfile檔案所在的目錄
執行後,CocoaPods首次會建立一個同工程名的工作空間(xcworkspace). 以後就打開這個工作空間來進行接下來的開發工作.
這裡也證明了一點,以後新項目啟動時,應該先配置和部署CocoaPods.
另外,如果指定了某個開源庫的版本号,此時pod update 會忽略版本号, 是以需要使用pod install來安裝指定的版本
總結:
CocoaPods的部署與配置還是較為繁瑣的,博文流程中記錄的每一天都要去執行.不然都有可能産生失敗.
可能遇到的問題:
Date:2013-05-13 23:24:47
今天用CocaPods的 pod install 指令時 出現如下錯誤:
The `master` repo requires CocoaPods 0.18.1
Date:2014-02-12 17:19:48
今天用CocoaPods的pod update指令時 出現如下錯誤:
CocoaPods官方團隊對于此問題,專門寫了一篇文章來解決這個問題.
<a target="_blank" href="http://blog.cocoapods.org/Repairing-Our-Broken-Specs-Repository/">http://blog.cocoapods.org/Repairing-Our-Broken-Specs-Repository/</a>
Date:2014-03-13 12:33:46
The `master` repo requires CocoaPods 0.29.0
解決方案:
更新Gem,在終端輸入如下指令:
參考:
<a target="_blank" href="http://www.cnblogs.com/so-magic/p/3580100.html">http://www.cnblogs.com/so-magic/p/3580100.html</a>
Date:2014-04-14 21:47:08
今天在編譯真機版本調試時遇到了關于64位架構編譯不過去的問題.
參考以下資料解決問題:
<a target="_blank" href="http://stackoverflow.com/questions/18881986/integration-error-with-cocoapods-and-xcode5">http://stackoverflow.com/questions/18881986/integration-error-with-cocoapods-and-xcode5</a>
<a target="_blank" href="http://cameronspickert.com/2014/01/20/remove-the-arm64-architecture-from-cocoapods-targets.html">http://cameronspickert.com/2014/01/20/remove-the-arm64-architecture-from-cocoapods-targets.html</a>
題外話:
簡單的說,Spec就是每個包在CocoaPods中的配置檔案,其中包括Package的名字,版本号,每個版本對應的下載下傳位址,編譯時的參數等等。
在頁面上有介紹如何創新新的包,可以Fork該項目,然後通過pull request送出所建的新包。
附上一篇詳細的教程
<a target="_blank" href="http://ishalou.com/blog/2012/10/16/how-to-create-a-cocoapods-spec-file/">http://ishalou.com/blog/2012/10/16/how-to-create-a-cocoapods-spec-file/</a>
關于生成代碼文檔
詳細見我的另外一篇教程:
<a target="_blank" href="http://blog.csdn.net/ysy441088327/article/details/7661785">http://blog.csdn.net/ysy441088327/article/details/7661785</a>