Logo
CocoaPods 是什么?
- CocoaPods 是開(kāi)發(fā) OS X 和 iOS 應(yīng)用程序的一個(gè)第三方庫(kù)的依賴(lài)管理工具。利用 CocoaPods,可以定義自己的依賴(lài)關(guān)系 (稱(chēng)作 pods),并且隨著時(shí)間的變化,以 及在整個(gè)開(kāi)發(fā)環(huán)境中對(duì)第三方庫(kù)的版本管理非常方便
CocoaPods 背后的理念主要體現(xiàn)在兩個(gè)方面
- 在工程中引入第三方代碼 會(huì)涉及到許多內(nèi)容。針對(duì) Objective-C 初級(jí)開(kāi)發(fā)者來(lái)說(shuō),工程文件的配置會(huì)讓 人很沮喪
- 在配置buildphases和linker flags過(guò)程中,會(huì)引起許多人為因素的 錯(cuò)誤
- CocoaPods 簡(jiǎn)化了這一切,它能夠自動(dòng)配置編譯選項(xiàng)
CocoaPods的原理
- 它是將所有的依賴(lài)庫(kù)都放到另一個(gè)名為Pods項(xiàng)目中,然后 讓主項(xiàng)目依賴(lài)Pods項(xiàng)目,這樣,源碼管理工作都從主項(xiàng)目移到了Pods項(xiàng)目中
- Pods項(xiàng)目最終會(huì)編譯成一個(gè)名為libPods.a的文件,主項(xiàng)目只需要依賴(lài)這個(gè).a 文件即可。
- 對(duì)于資源文件,CocoaPods提供了一個(gè)名為Pods-resources.sh的bash腳本, 該腳本在每次項(xiàng)目編譯的時(shí)候都會(huì)執(zhí)行,將第三方庫(kù)的各種資源文件復(fù)制到目 標(biāo)目錄中。
- CocoaPods通過(guò)一個(gè)名為Pods.xcconfig的文件來(lái)在編譯時(shí)設(shè)置所有的依賴(lài)和 參數(shù)。
重點(diǎn)來(lái)了CocoaPods安裝
PS: Xcode8.1是需要把gem升級(jí)到最新才能使用國(guó)內(nèi)的源so
1.升級(jí)最新ruby
- 從ruby官網(wǎng)下載源碼:點(diǎn)這里
- 解壓剛下載的包
- 進(jìn)入終端,輸入命令cd 到剛才的文件夾下面
- 然后依次輸入下面命令進(jìn)行安裝
$ ./configure
$ make
$ sudo make install```
####2.再次更新gem
終端命令:`$ sudo gem update --system`
####3.更新ruby的軟件源
* 刪除原有源`$ gem sources --remove https://rubygems.org/`
* 添加新的源`$ gem sources -a http://ruby.taobao.org/`
PS:Mac10.10以上系統(tǒng)的用 https協(xié)議 哈哈...搞了我半天
* 查看源是否更新`$ gem sources -l`顯示新的源就OK了
####4.安裝CocoaPods
執(zhí)行:`$ sudo gem install cocoapods --pre`漫長(zhǎng)等待過(guò)后...有些人成功了!嘿嘿..如果失敗..換個(gè)姿勢(shì)..很有可能是網(wǎng)絡(luò)原因.(PS:如果報(bào)錯(cuò)復(fù)制錯(cuò)誤上百度.google)
####5.接下來(lái)替換CocoaPods的鏡像索引
PS:這一步只是為了每次更新倉(cāng)庫(kù)能快一點(diǎn)..如果不介意可以跳過(guò),并且鏡像有可能掛了.所以替換的鏡像可以自己去重找
* 干掉master執(zhí)行`$ pod repo remove master`
* 添加鏡像執(zhí)行`$ pod repo add master https://coding.net/u/lijy91/p/Specs/git`
* 更新倉(cāng)庫(kù)執(zhí)行`$ pod repo update`
####6.倉(cāng)庫(kù)設(shè)置
* 設(shè)置pod倉(cāng)庫(kù)`pod setup`這一步比較耗時(shí)請(qǐng)耐心等待
* 最后查看你的pod版本了`$ pod --version`
==================
###CocoaPods的使用
* 創(chuàng)建Xcode項(xiàng)目,cd進(jìn)入此項(xiàng)目的.xcodeproj文件所在目錄下
* 創(chuàng)建Podfile文件,執(zhí)行命令`$ pod init`會(huì)生成如圖1文件

* 編輯Podfile文件如圖2
比如我們需要用到AFNetworking這個(gè)框架

當(dāng)然還有一種寫(xiě)法,比如我需要指定框架版本為1.0`pod 'AFNetworking’,’~>1.0'`
PS:注意,Podfile文件里面#后面的大串英語(yǔ)都是注釋,所以看它不爽完全可以干掉..最簡(jiǎn)單的Podfile文件可以這樣寫(xiě)
>target 'test' do
pod 'AFNetworking'
end
* 然后執(zhí)行命令`pod install --no-repo-update`輸出圖3

* 接下來(lái)打開(kāi).xcworkspace的工作空間!一切搞定!
###CocoaPods插件篇
PS:如果你覺(jué)得用CocoaPods的命令來(lái)操作比較麻煩.那么沒(méi)關(guān)系.我們可以用插件.本文不詳細(xì)講解插件的安裝,我在簡(jiǎn)書(shū)上有過(guò)一篇完美解決Xcode8.1的插件文章[<找回Xcode8.1消失的插件>](http://www.lxweimin.com/p/5ffd2d8f00db)
* 你需要一個(gè)Alcatraz(插件管理工具)然后安裝CocoaPods插件

* 重啟Xcode.選擇Load Bundle
* 然后你的Xcode就多了一個(gè)功能!開(kāi)心吧.進(jìn)入一個(gè)工程
* 在Product-->CocoaPods-->Creat/Edit Podfile

* 編輯你的PodFile吧!是不是很爽

* 保存退出然后 Product->CocoaPods->Install Pods 第一次用install安裝,今后就選擇Update Pods

PS :圖像化界面讓工作效率更高!!
###關(guān)于有可能出現(xiàn)的問(wèn)題
>如果cocoaPath導(dǎo)入庫(kù)失敗.. 那么歡一個(gè)GEM PATH路徑
cocoapods安裝命令: $ sudo gem install -n /usr/local/bin cocoapods
>那么在Xcode的cocoapods插件的GEM_PATH里寫(xiě)入
/usr/local/bin 即可