首先, 不會用cocoapods的話如過你接手某些新項(xiàng)目是用cocoapods寫的你會瘋, 其次他真的很好用, 當(dāng)然某些坑也是存在的,比如你用它導(dǎo)入了AFNetwork然后你需要修改一些AF的內(nèi)部的代碼以適應(yīng)你項(xiàng)目的特殊需求,這時(shí)候cocoapods就會報(bào)錯, 報(bào)錯, 報(bào)錯…
OK,下面步入正題
在安裝CocoaPods之前,首先要在本地安裝好Ruby環(huán)境。MAC系統(tǒng)自帶ruby環(huán)境但是某些老舊機(jī)型可能ruby版本過低會報(bào)錯,不過更新一下就好,而安裝ruby需要RVM .
步驟0 - 準(zhǔn)備工作
首先需要切換到淘寶鏡像服務(wù)器不然下面各個步奏會異常的卡頓(如果你曾經(jīng)切換過可以查詢出來)
查詢:
$ gem sources -l
如果輸出:
*** CURRENT SOURCES ***http://ruby.taobao.org/
則已經(jīng)切換成功, 不然就:
$ gem sources --remove https://rubygems.org///
等有反應(yīng)之后再敲入以下命令$ gem sources -a http://ruby.taobao.org/
結(jié)束后,然后再次:
$ gem sources -l
如果輸出:
*** CURRENT SOURCES ***http://ruby.taobao.org/
OK準(zhǔn)備工作結(jié)束.
步驟1 - 安裝 RVM
RVM 是干什么的這里就不解釋了整胃,后面你將會慢慢搞明白图贸。使用官方推薦的方法安裝:
$ curl -L https://get.rvm.io | bash -s stable
期間可能會問你sudo管理員密碼酝锅,以及自動通過homebrew安裝依賴包壹将,等待一段時(shí)間后就可以成功安裝好 RVM择同。
然后判帮,載入 RVM 環(huán)境(新開 Termal 就不用這么做了为鳄,會自動重新載入的)
$ source ~/.rvm/scripts/rvm
檢查一下是否安裝正確
$ rvm -v
會輸出:
rvm 1.26.11 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
步驟2 - 用 RVM 安裝 Ruby 環(huán)境
$ rvm install 2.0.0
同樣繼續(xù)等待漫長的下載裳仆,編譯過程,完成以后孤钦,Ruby, Ruby Gems 就安裝好了歧斟。
步驟3 - 設(shè)置 Ruby 版本
RVM 裝好以后,需要執(zhí)行下面的命令將指定版本的 Ruby 設(shè)置為系統(tǒng)默認(rèn)版本
$ rvm 2.0.0 --default
同樣司训,也可以用其他版本號构捡,前提是你有用 rvm install 安裝過那個版本
這個時(shí)候你可以測試是否正確
$ ruby -v ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0] $ gem -v 2.1.6
步驟4 - 安裝cocoapods(第四步才是正題, ⊙﹏⊙b汗)
$ sudo gem install cocoapods
sudo gem uninstall cocoapods //這個命令用于卸載
會顯示:
nizege:~ chenenze$ sudo gem install cocoapodsPassword:Fetching: i18n-0.7.0.gem (100%)Successfully installed i18n-0.7.0Fetching: thread_safe-0.3.5.gem (100%)Successfully installed thread_safe-0.3.5Fetching: tzinfo-1.2.2.gem (100%)...最后:19 gems installed
就安裝完了.
這時(shí)你可以
$pod search AFNetworking
來檢測一下
如果:
-> AFNetworking (2.5.4) A delightful iOS and OS X networking framework. pod 'AFNetworking', '~> 2.5.4'
- Homepage: https://github.com/AFNetworking/AFNetworking
- Source: https://github.com/AFNetworking/AFNetworking.git
- Versions: 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.1, 2.4.0, 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1, 0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]
- Subspecs:
- AFNetworking/Serialization (2.5.4)
- AFNetworking/Security (2.5.4)
- AFNetworking/Reachability (2.5.4)
- AFNetworking/NSURLConnection (2.5.4)
就說明成功了.
$which pod
輸出
/usr/bin/pod
這樣也可以檢測是否安裝成功.
使用篇:
首先創(chuàng)建一個X-code項(xiàng)目,先起名為CocoaPodsDemo(以將項(xiàng)目創(chuàng)建到桌面為例)
打開終端
$cd Desktop$cd CocoaPodsDemo
進(jìn)入x-code工程文件夾后
$ls
發(fā)現(xiàn)里面只有三個x-code文件,現(xiàn)在需要創(chuàng)建Podfile文件, Podfile是什么?你可以理解為這是CocoaPods的配置文件,CocoaPods根據(jù)這個文件的記載去加載你所需要的第三方類庫以及選擇適合目標(biāo)平臺的版本來安裝
創(chuàng)建Podfile文件:
$touch Podfile
編輯他(兩種方式):
$open -e Podfile
或者:
$vi Podfile
在打開的文件里輸入(這里裝的是融云IMKit)
platform :ios, '8.4'pod 'RongCloudIMKit'pod 'MBProgressHUD', '~> 0.8'
第二行寫的是需要安裝的第三方庫清單, 多個的話換行繼續(xù)寫, 不謝逗號后面的 默認(rèn)安裝最新版 一個一個的排(注意:引號等標(biāo)點(diǎn)必須寫對不然會報(bào)錯!!!)
然后保存關(guān)閉第一種編輯方式直接command+s第二種:
:wq
然后執(zhí)行:
$pod install
第一次安裝會看到下面這句話卡住了很久
Setting up CocoaPods master repo
不要著急,其他他正在下載壳猜,我第一次用時(shí)也以為是卡了勾徽,但其實(shí)并沒有,心急的哥們可以:
右鍵新建窗口
$cd ~/.cocoapods/$du -sh *
會顯示下載了多少哦,著急的話就隔幾秒du -sh一下吧
6统扳、安裝完成
[!] From now on use xxxxxxxxxxxxx.xcworkspace.
Cocoapods會在你的項(xiàng)目目錄中創(chuàng)建一堆新文件喘帚,但你主需要關(guān)心后綴為.xcworkspace的文件,用Xcode打開≈渲樱現(xiàn)在有一個Pods項(xiàng)目在你的項(xiàng)目工作區(qū)吹由,以及在Pods文件夾放著每一個你引入的庫.
刪除篇:
刪除項(xiàng)目中已經(jīng)配置的類庫
和(一)類似,我們首先新建一個名為CocoaPodsDemo的項(xiàng)目朱嘴,然后cd到項(xiàng)目目錄下新建一個Podfile文件倾鲫,并編寫該文件,內(nèi)容如下:
platform:ios, '7.0'
pod 'AFNetworking', '~> 2.1.0'
pod 'JSONKit', '~> 1.5pre'
pod 'MBProgressHUD', '~> 0.8'
相比(一)萍嬉,我們將要加入的JSONKit的版本從1.1升級到1.5 preview版乌昔。
然后pod install,可以看到安裝是成功的壤追。
打開CocoaPodsDemo.xcworkspace文件磕道,編譯一下,會出現(xiàn)報(bào)錯:
原因是JSONKit類庫出現(xiàn)了各種各樣的問題行冰。
這個時(shí)候溺蕉,我們很自然想到要刪掉這個類庫,然后嘗試使用低版本的JSONKit(這也是我在(一)中為什么用1.1作為示例的原因)悼做。
方法:
1.打開Podfile文件疯特,刪除JSONKit該行,即:
platform:ios, '7.0'
pod 'AFNetworking', '~> 2.1.0'
pod 'JSONKit', '~> 1.5pre'(刪除該行)
pod 'MBProgressHUD', '~> 0.8'
(如果想換成1.1版本贿堰,將被刪除的行改成pod ‘JSONKit-NoWarning’, ‘~> 1.1’即可)
2.cd到當(dāng)前項(xiàng)目目錄下辙芍,重新執(zhí)行pod install命令。輸出信息如下(留意Removing JSONKit):
$ pod installAnalyzing dependenciesRemoving JSONKitDownloading dependenciesUsing AFNetworking
(2.1.0)Using MBProgressHUD (0.8)Generating Pods projectIntegrating client project
3.重新打開xcworkspace文件,可以看到JSONKit被移除故硅,再次編譯將會通過:
在項(xiàng)目中移除CocoaPods
如果你覺得CocoaPods讓你的項(xiàng)目出現(xiàn)了問題庶灿,不好用甚至是惡心,想將其從項(xiàng)目中徹底移除吃衅,也有方法:
1.刪除工程文件夾下的Podfile往踢、Podfile.lock和Pods文件夾。
2.刪除xcworkspace文件徘层。
3.打開xcodeproj文件峻呕,刪除項(xiàng)目中的libpods.a和Pods.xcconfig引用:
4.打開Build Phases選項(xiàng),刪除Check Pods Manifest.lock和Copy Pods Resources:
完成趣效,編譯運(yùn)行瘦癌,無錯通過。
個人感覺跷敬,從項(xiàng)目中移除某個類庫還算是可以的讯私,但是移除整個CocoaPods就有點(diǎn)麻煩了(也可能是我沒有找對方法),希望CocoaPods能作出改進(jìn)西傀。
另外斤寇,如果在編輯工程時(shí)不小心刪除了某個文件,如Podfile.lock拥褂,那么我們就要用上面的方法先移除整個CocoaPods娘锁,然后重新建立Podfile和使用pod install命令重裝CocoaPods(有夠麻煩的)。
參考:
http://www.netfoucs.com/article/u010962810/66727.html
http://blog.sina.com.cn/s/blog_7008c3140101hrh7.html
http://www.tuicool.com/articles/iaqU3im