> 工欲善其事,必先利其器
本篇內容將介紹mac和ios開發中必備的乙個依賴庫管理工具cocoapods。
cocoapods是什麼
在ios開發中勢必會用到一些第三方依賴庫,比如大家都熟悉的asihttprequest、afnetworking、jsonkit等。使用這些第三方類庫能極大的方便專案的開發,但是,整合這些依賴庫需要我們手動去配置,例如整合asihttprequest庫時除了加入原始碼以外還需要手動去新增一些系統框架,比如cfnetwork、mobilecoreservices等,如果這些第三方庫發生了更新,還需要手動去更新專案。這就顯得非常麻煩。有麻煩自然有解決辦法,cocoapods就是為了解決這個問題而生的。通過cocoapods,我們可以將第三方的依賴庫統一管理起來,配置和更新只需要通過簡單的幾行命令即可完成,大大的提高了實際開發中的工作效率,使我們的主要精力集中到更重要的事情上去。
安裝cocoapods
我的環境為mac os x 10.9.1,安裝cocoapods之前,先確保本地有ruby環境,因為cocoapods執行於ruby之上,預設情況下,mac是自帶了ruby環境的,可以通過命令列「`ruby -v「`檢視當前ruby的版本,我用的是1.9.3p448。接下來我們就可以通過如下命令安裝cocoapods了。
$ sudo gem install cocoapods
輸入上述命令後可能會無響應,那是因為你身在**,偉大的牆攔住了你的去路,不知為什麼,cocoapods.org這種無害產物也要被牆。不過沒關係,我們可以通過**的ruby映象來訪問cocoapods,在終端輸入如下命令將ruby映象替換為**的。
$ gem sources --remove
$ gem sources -a
完成後可以通過如下命令來檢視當前的ruby映象是否已經指向了**的。
$ gem sources -l
如果輸出結果是如下這樣,那說明這一步就成功了。
*** current sources ***
接下來就可以重新執行安裝命令來安裝cocoapods了,根據你的網路情況,幾秒或十幾秒後安裝過程就完成了,總的來說,安裝過程還是比較簡單的。如果其中你遇到了什麼問題,請自行google解決,都能找到你想要的答案。
使用cocoapods
我們通過整合jsonkit類庫來演示如何使用cocoapods來做依賴庫管理。首先,建立乙個xcode工程,命名為cocoapodstest,現在的工程結構如下圖所示。
這裡我們要整合jsonkit,可以先通過如下命令來判斷其是否支援cocoapods。
檢測完畢後我們來到工程cocoapodstest的目錄下,新建乙個名為podfile的檔案(這裡通過命令列建立)
這時候,工程目錄下就會有乙個podfile檔案了,注意必須和.xcodeproj在同乙個目錄下。接下來就可以使用cocoapods來安裝並管理jsonkit庫了,確保命令列當前路徑是在cocoapodstest目錄下,執行如下命令。
$ pod install
安裝完成後會提示如下資訊,並且我們的工程目錄下會多出乙個.xcworkspace結尾的檔案,命令列資訊綠色部分提醒我們「從此使用cocoapodstest.xcworkspace來開啟專案」。
通過cocoapodstest.xcworkspace來開啟專案,這時,我們的專案工程結構就會變成下圖這樣,多出乙個名為pods的依賴工程,開啟pods資料夾後,發現jsonkit已經在裡面了
這時候就可以在專案檔案中引入jsonkit.h了,這時候如果你發現import的時候沒有提示jsonkit的檔案,可以在target-build settings下修改「user header search paths」項,新增$並選擇rcursive,如下圖。
設定完成後就可以在檔案中直接引用第三方庫的檔案並使用了。
到此,新建工程並使用cocoapods來管理依賴庫的過程就完成了,如果是直接使用已有cocoapods的專案,則需要首先執行一下pod update命令來更新項,然後照樣通過.xcworkspace來開啟工程。
如果需要依賴多個第三方類庫,只需要修改podfile檔案的配置,然後執行pod update命令即可,比如新增乙個afnetworking的依賴庫,首先執行pod search afnetworking檢視一下afnetworking的配置資訊,修改podfile檔案,在後面增加afnetworking的對應配置資訊,然後執行pod update命令就完成了對afnetworking的整合。
新增afnetworking庫後的目錄結構如下。
如果類庫有更新,檢視更新配置並執行pod update即可簡單完成了,從此從手動更新繁重的體力勞動中解脫出來。
簡單小結一下:
文字首發於ryan』s zon -
唐韌
使用CocoaPods管理依賴庫
什麼是cocoapods?摘錄自 cocoapods是由eloyduran於2011年8月12日建立。另乙個早先的決定就是利用central git repository作為所有庫的總資料庫。雖然這帶來了一些運籌上的顧慮,好在github能夠提供乙個穩健的平台,幫助團隊在後續的迭代中,開發出更好的工...
使用CocoaPods管理框架
1 使用cocoapods管理框架 如果我們只是新增了少量的第三方框架,那麼手動管理起來也不算什麼難事,但是如果我們使用了大量的第三方框架的時候,管理起來就會變成十 分繁雜的過程,此外,如果要獲取第三方框架的更新,手動管理無異於重新 新增一遍第三方框架。因此,我們需要使用工具來幫助管理這些第三方框 ...
cocoapods整合依賴庫去警告
首先是有一些庫編譯時候會有警告。但是作為乙個有潔癖的人呢不想看見這些 可以在platform ios,x.0 的後面加入這句 inhibit all warnings 這樣編譯這些第三方庫的時候就沒有那些煩人的小警告了。但是有乙個神庫reactivecocoa。當你關閉所有警告的時候。它就編譯不過了...