找回Xcode8.1的CocoaPods

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文件
![圖 1](http://upload-images.jianshu.io/upload_images/2990730-0c30931973b2e4e6.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 編輯Podfile文件如圖2
比如我們需要用到AFNetworking這個(gè)框架
![圖 2](http://upload-images.jianshu.io/upload_images/2990730-5fb9d8566466c85e.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
當(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
![圖 3](http://upload-images.jianshu.io/upload_images/2990730-73680c0478a8c2c4.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 接下來(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插件
![圖 4](http://upload-images.jianshu.io/upload_images/2990730-cbaa1a5b70e8e7a2.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 重啟Xcode.選擇Load Bundle
* 然后你的Xcode就多了一個(gè)功能!開(kāi)心吧.進(jìn)入一個(gè)工程
* 在Product-->CocoaPods-->Creat/Edit Podfile
![圖 5](http://upload-images.jianshu.io/upload_images/2990730-a40c06852559283f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 編輯你的PodFile吧!是不是很爽
![圖 6](http://upload-images.jianshu.io/upload_images/2990730-b2c01e753453f919.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 保存退出然后 Product->CocoaPods->Install Pods 第一次用install安裝,今后就選擇Update Pods
![圖 7](http://upload-images.jianshu.io/upload_images/2990730-596a7d2b19924dda.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

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    即可
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載至:http://user.qzone.qq.com/654597424/infocenter?ptsig=d...
    Lovell_閱讀 204評(píng)論 0 0
  • 項(xiàng)目組件化、平臺(tái)化是技術(shù)公司的共同目標(biāo),越來(lái)越多的技術(shù)公司推崇使用pod管理第三方庫(kù)以及私有組件,一方面使項(xiàng)目架構(gòu)...
    swu_luo閱讀 22,196評(píng)論 0 39
  • Ruby 安裝 要安裝cocospods 首先需要安裝ruby,可以先安裝xcode,再安裝macport ,最后...
    山天大畜閱讀 1,886評(píng)論 0 1
  • CocoaPods 是什么? CocoaPods 是一個(gè)負(fù)責(zé)管理 iOS 項(xiàng)目中第三方開(kāi)源庫(kù)的工具。CocoaPo...
    朝洋閱讀 25,741評(píng)論 3 51
  • 昨天,在單位接到老媽的電話(huà),詢(xún)問(wèn)為什么一再地進(jìn)入微信可文章閱讀量卻沒(méi)有增加?我耐心地和老媽解釋?zhuān)瑫r(shí)不時(shí)聽(tīng)到從手機(jī)里...
    晶晶亮的沙子閱讀 346評(píng)論 0 1