1. 設(shè)置ruby的軟件源
因?yàn)閞uby的軟件源rubygems.org,天朝有一道神奇的墻把他屏蔽了~~拧粪,需要我們手動(dòng)更新軟件源双饥,之前一直都是用的淘寶的,貌似現(xiàn)在已經(jīng)不再維護(hù)了蝇完,所以現(xiàn)在用https://gems.ruby-china.org/
gem sources -l //查看當(dāng)前的源,我查看的結(jié)果是https://rubygems.org/
gem sources --remove https://rubygems.org/ //移除當(dāng)前ruby的源
gem sources -a https://gems.ruby-china.org/ //設(shè)置當(dāng)前ruby的源
gem sources -l //再次查看當(dāng)前ruby的源
如果此時(shí)的terminal輸出結(jié)果為:https://gems.ruby-china.org/ 那就說(shuō)明成功了
2. 查看并更新gem
使用 gem -v 查看當(dāng)前的版本
sudo gem update --system //更新RubyGems軟件
3. 安裝CocoaPods
sudo gem install -n /usr/local/bin cocoapods
/*如果沒(méi)有-n /usr/local/bin矗蕊,而直接使用sudo gem install cocoapods,會(huì)報(bào)一個(gè)如下錯(cuò)誤:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
*/
pod setup // 此時(shí)可能會(huì)卡住不動(dòng)短蜕,那是因?yàn)樵谙螺d本地庫(kù),可cd到~/.cocoapods該目錄,用du -sh *命令來(lái)查看下載進(jìn)度
4.使用cocoapods依賴第三方庫(kù)
1. 打開(kāi)控制臺(tái)終端Terminal,cd到當(dāng)前工程目錄下使用pod init初始化Profile文件
2. 在Profile文件中會(huì)有如下幾個(gè)重要的信息:
# platform :ios, '9.0' // 最低支持的iOS系統(tǒng)版本,如果要適配低版本的系統(tǒng)傻咖,比如要適配iOS8朋魔,那么將#去掉 ,并將9.0改為8.0
# use_frameworks! // 這個(gè)一般是在swift或者使用動(dòng)態(tài)庫(kù)要打開(kāi)的卿操,一般情況不做處理
在Profile文件中:
platform :ios, '8.0' // 指定適配iOS8
// 導(dǎo)入第三方依賴庫(kù)
pod 'AFNetworking', '~> 3.1.0' // 指定導(dǎo)入的框架的版本
pod 'YYModel' // 默認(rèn)導(dǎo)入適配當(dāng)前系統(tǒng)版本的最新框架版本
3. 執(zhí)行pod install // pod install每一次會(huì)鏈接遠(yuǎn)程庫(kù)進(jìn)行下載更新警检,可能會(huì)需要等待一段時(shí)間
使用CocoaPods來(lái)添加第三方類庫(kù),無(wú)論是執(zhí)行pod install還是pod updat很多時(shí)候都卡在了Analyzing dependencies不動(dòng)害淤,這是更新本地的pod spec所以文件導(dǎo)致的扇雕。通過(guò)--no-repo-update標(biāo)志可以不更新本地pod spec索引。當(dāng)然首次install不應(yīng)該添加這個(gè)標(biāo)志窥摄,后續(xù)修改Podfile的時(shí)候可以適當(dāng)使用镶奉,加快pod速度
pod install --no-repo-update
pod update --no-repo-update
5.在項(xiàng)目工程中使用及相關(guān)文件
1、在用pod導(dǎo)入框架之后,雙擊新生成.xcworkspace來(lái)打開(kāi)工程
2腮鞍、一般來(lái)講用pod導(dǎo)入的框架需要用#import<>來(lái)導(dǎo)入頭文件
3值骇、提交到git上的代碼是不包含pod依賴庫(kù)的,所以down下來(lái)后都需要pod一下移国,添加依賴庫(kù)
4吱瘩、profile.lock里面有導(dǎo)入框架的版本信息,每次pod(如果已經(jīng)存在該文件)迹缀,會(huì)從該文件中讀取相關(guān)的框架信息使碾。在多人開(kāi)發(fā)中可以有效鎖定版本依賴,防止版本不同導(dǎo)致的每次使用都要update一下
6.pod相關(guān)命令(終端輸入)
pod search afn //搜索框架pod是模糊搜索,寫(xiě)縮寫(xiě)也可以,按Q可以退出搜索界面
使用git的HEAD指向的分支
pod 'ISO8601DateFormatter', :head
使用 master 分支
pod 'ARAnalytics/Mixpanel', :git => 'https://github.com/orta/ARAnalytics.git'
指定branch
pod 'Reachability', :git => 'https://github.com/ashfurrow/Reachability.git', :branch => 'frameworks'
指定tag
pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :tag => '0.7.0'
指定commit
pod 'ARTiledImageView', :git => 'https://github.com/dblockARTiledImageView', :commit => '1a31b864d1d56b1aaed0816c10bb55cf2e078bb8'
注:
部分內(nèi)容來(lái)自:http://www.cocoachina.com/ios/20150916/13384.html