CocoaPods的安裝和使用


這種教程爛大街了,不過我還是寫一寫,有利於我個人的生態平衡…… :-)

這篇文章主要講解安裝和使用,安裝和使用過程中遇到的問題(出錯)會記錄在CocoaPods使用異常及處理方式,歡迎前往補充


項目開發中,難免會遇到一些開發起來耗時間(or 棘手 or 難辦)的功能,那麼我就會訪問我的貼心小棉襖github,尋找是否已經存在一些符合(or not)項目需求的解決方案。

得益於github大神衆多,我往往能找到一些不錯的開源庫,然後暴力拖拽到項目當中,導入、引用、調試、成功、提交,哦也!(^-^)/


但當引用的第三方庫越來越多的時候,一些很尷尬的事情逐漸發生了:-(

1、庫文件過大、過多,svn/git commit and update太慢太卡啦~

2、庫文件的更新非常麻煩,尤其是使用svn做版本管理的時候,很容易commit失敗、update出現問題

3、囧rz 爲什麼從github下載的可以運行,導入到我的項目就不能了呢……哦,少了framework,少了其他的第三方庫……

4、還遇到兩個第三方庫同時引用了另一個庫,想想都是淚

……


所以這個時候,CocoaPods來了,官方的說法是:

CocoaPods是依賴於Swift和Objective-C Cocoa項目。它有近萬的庫,可以幫助你優雅地擴展您的項目。(☆_☆)

用了CocoaPods後你能告別很多煩惱。


OK,Let's start!


----------------INSTALL--------------------------------

打開終端(Terminal)

安裝CocoaPods的命令基於Ruby環境,並且需要管理員權限,so

$ sudo gem install cocoapods


如果出現

Fetching: cocoapods-core-0.37.2.gem (100%)
Successfully installed cocoapods-core-0.37.2
Fetching: xcodeproj-0.24.2.gem (100%)
Successfully installed xcodeproj-0.24.2
Fetching: cocoapods-try-0.4.5.gem (100%)
Successfully installed cocoapods-try-0.4.5
Fetching: cocoapods-trunk-0.6.1.gem (100%)
Successfully installed cocoapods-trunk-0.6.1
Fetching: cocoapods-0.37.2.gem (100%)
Successfully installed cocoapods-0.37.2
Parsing documentation for cocoapods-core-0.37.2
Installing ri documentation for cocoapods-core-0.37.2
Parsing documentation for xcodeproj-0.24.2
Installing ri documentation for xcodeproj-0.24.2
Parsing documentation for cocoapods-try-0.4.5
Installing ri documentation for cocoapods-try-0.4.5
Parsing documentation for cocoapods-trunk-0.6.1
Installing ri documentation for cocoapods-trunk-0.6.1
Parsing documentation for cocoapods-0.37.2
Installing ri documentation for cocoapods-0.37.2
5 gems installed


這一類的數據流,則說明成功了。成功後,可以在終端使用pod命令進行使用,比如通過命令查看版本號,
pod --version

然後你就能愉快的使用,反之,卸載命令

$ gem uninstall cocoapods

否則,請前往CocoaPods使用異常及處理方式查看錯誤原因,歡迎前往補充


---------------GET START-----------------------------------------

因爲接下來要發一個公交app的系列文章(還稱不上教程(≧∇≦)),所以這裏就用高德地圖sdk來作爲示範

可以看看高德地圖sdk手動配置,2d/3d/search都需要的話,單單引入framework就要11個,作爲一個勵志成爲大神的男人,這種重複性的東西我是拒絕的……再簡單也拒絕……:P

so

我們來自動配置高德地圖sdk


----首先我們先了解如何判斷一個第三方庫是不是包含在CocoaPods源中------

----通過search命令(庫名不區分大小寫)----

pod search AMap3DMap
這裏搜索高德地圖的3d地圖庫,返回的結果是

-> AMap3DMap (2.5.1) 
   3D Map SDK for iOS by Autonavi. 
   pod 'AMap3DMap', '~> 2.5.1' 
   - Homepage: http://lbs.amap.com/api/ios-sdk/summary/ #庫的主頁 - 介紹
   - Source:   http://cache.amap.com/lbs/sdk/AMap_iOS_API_3DMap_Lib_V2.5.1.zip
   - Versions: 2.5.1, 2.5.0, 2.4.2, 2.4.1, 2.4.0, 2.3.0 [master repo]
 可以清楚的看到裏面包含了很多重要的信息,其中
pod 'AMap3DMap', '~> 2.5.1'
就是關鍵的使用方法啦

----然後我們來給項目關聯CocoaPods-------

1、我創建了一個BUSDEMO項目,使用終端(vi命令)或文本編輯的方式在該目錄裏創建一個podfile文件(文本編輯創建的需要去掉擴展名)


2、通過終端(vi命令)或文本編輯器編輯podfile,輸入

platform :ios, '8.0' 	    #這裏是備註,platform指的是ios平臺及最高版本,版本號可以省略
pod 'AMap3DMap', '~> 2.5.1' #這裏說明引用指定的庫名及版本號
pod 'AMapSearch' 	    #版本號可以省略,默認使用最高版本

3、使用終端(cd命令)進入項目目錄

cd /Users/roy/Desktop/練習/bus/BUSDEMO

4、使用終端安裝CocoaPods相關的源

pod install
逐漸的出現以下內容

Analyzing dependencies
Downloading dependencies
Installing AMap3DMap (2.5.1)
Installing AMapSearch (2.5.0)
Generating Pods project
Integrating client project

[!] Please close any current Xcode sessions and use `BUSDEMO.xcworkspace` for this project from now on.
表示成功,最後告訴你從現在開始使用xxx.xcworkspace文件,就是這個傢伙

同時我們看到多出了幾個文件,Pods文件夾主要放第三方庫了,Podfile.lock這個以後再具體解說,這裏留個坑

----添加新的源或刪除已有的源-------

直接修改podfile文件,備註3d,添加2d

platform :ios 	    #這裏是備註,platform指的是ios的最高版本號
#pod 'AMap3DMap', '~> 2.5.1' #這裏說明引用指定的庫名及版本號
pod 'AMapSearch'  	    #版本號可以省略,默認使用最高版本
pod 'AMap2DMap' 	    #添加一個新的源##########

使用終端(cd命令)進入項目目錄,並安裝
pod install

(pod install如果一直卡着不動的話,就用pod install --verbose --no-repo-update命令試試

結果

Analyzing dependencies
<span style="color:#cc0000;">Removing AMap3DMap</span>
Downloading dependencies
<span style="color:#009900;">Installing AMap2DMap (2.5.0)</span>
Using AMapSearch (2.5.0)
Generating Pods project
Integrating client project
結果顯示remove了3D源,installing了2D源,Using表示沒有修改

----如果庫有升級,則更新源-----

pod update
結果

<span style="color:#cc9933;">Update all pods</span>
Analyzing dependencies
Downloading dependencies
Using AMap2DMap (2.5.0)
Using AMapSearch (2.5.0)
Generating Pods project
Integrating client project
這裏沒有可更新的……

--------結尾------------------------

CocoaPods不止這麼簡單的功能,還有很多有待發掘,比如如何設置私有庫、獲取幫助文檔、podspec等等

這裏留個坑,以後慢慢填。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章