1、概要javascript
iOS開發時,項目中會引用許多第三方庫,CocoaPods(https://github.com/CocoaPods/CocoaPods)能夠用來方便的統一管理這些第三方庫。html
2、安裝java
因爲網上的教程基本都大同小異,但細節之處還不是很完善,因此藉機會在這裏補充下:ios
注:要使用CocoaPods,那就要下載安裝它,而下載安裝CocoaPods須要Ruby環境git
一、Ruby環境搭建github
當前安裝環境爲Mac mini 10.8.5。Mac OS自己自帶Ruby,但仍是更新一下保險,由於我第一次安裝在沒有更新Ruby的狀況下就失敗了。vim
a 查看下當前ruby版本:打開終端輸入 ruby -v(確實安裝了,不過用這個版本接下來工做失敗了,因此更新下ruby)xcode
終端輸入以下命令(把Ruby鏡像指向taobao,避免被牆,你懂得)ruby
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l (用來檢查使用替換鏡像位置成功)bash
二、下載安裝CocoaPods
終端輸入:sudo gem install cocoapods
這樣就下載安裝好了CocoaPods
三、使用CocoaPods
a 新建一個項目,名字PodTest
b 終端中,cd到項目總目錄(注意:包含PodTest文件夾、PodTest.xcodeproj、PodTestTest的那個總目錄)
接着上一步,終端輸入 vim Podfile
鍵盤輸入 i,進入編輯模式,輸入
platform :ios, '7.0'
pod 'MBProgressHUD', '~> 0.8'
而後按Esc,而且輸入「 :」號進入vim命令模式,而後在冒號後邊輸入wq
注意:鍵盤輸入 :後,才能輸入wq。回車後發現PodTest項目總目錄中多一個Podfile文件
激動人心的時刻到了:肯定終端cd到項目總目錄,而後輸入 pod install,等待一會,大約3分鐘。
查看項目根目錄:
注意:如今打開項目不是點擊 PodTest.xodeproj了,而是點擊 PodTest.xcworkspace
打開項目後看到項目結構而且測試一下:
運行結果:
補充:
一、CocoaPods的基本安裝及使用都詳細的說明了,但還有一些補充,當須要同時導入多個第三方時候怎麼辦 ?
這就須要修改Podfile了,就是用vim編輯的那個保存在項目根目錄中的文件,修改完了Podfile文件,須要從新執行一次pod install命令。
例如:
platform :ios
pod 'JSONKit', '~> 1.4'
pod 'AFNetworking', '~> 2.0'
二、CocoaPods能夠查找你想要的第三方庫
終端輸入命令:pod search UI
瘋了了,我怎麼查找這麼大衆的關鍵字,好多庫~~
而後從新編輯Podfile文件,按照以前的步驟,把更多的庫都導入項目!
本博客盜竊自阿福的博客,地址:http://blog.csdn.net/lizhongfu2013/article/details/26384029
============================我是分割線==================================
CocoaPods更新了一下,而後:出現下面的警告
ex:
The dependency `` is not used in any concrete target The dependency `AFNetworking ` is not used in any concrete target
CocoaPods更新了一下,而後:
sudo gem install cocoapods --pre
安裝cocoapods的預覽版本,就會更新下來新的1.0.0.beta.2版本,以下所示:
Successfully installed cocoapods-1.0.0.beta.2 Parsing documentation for cocoapods-1.0.0.beta.2
很高興啊,更新了新的版本,然而pod install就出錯了,悲了個劇!出錯以下:
Updating local specs repositories
Analyzing dependencies
[!] The dependency `FMDB (~> 2.3)` is not used in any concrete target. The dependency `SDWebImage (~> 3.6)` is not used in any concrete target. The dependency `AFNetworking (~> 2.3.0)` is not used in any concrete target. The dependency `DACircularProgress (~> 2.2.0)` is not used in any concrete target. The dependency `MBProgressHUD (~> 0.8)` is not used in any concrete target. The dependency `PSTCollectionView (~> 1.2.1)` is not used in any concrete target. The dependency `HPGrowingTextView (~> 1.1)` is not used in any concrete target. The dependency `ProtocolBuffers (= 1.9.3)` is not used in any concrete target. The dependency `leveldb-library (~> 1.18.1)` is not used in any concrete target. The dependency `SCLAlertView-Objective-C (~> 0.7.5)` is not used in any concrete target. The dependency `MWPhotoBrowser (~> 1.4.1)` is not used in any concrete target. The dependency `MMMarkdown (~> 0.5)` is not used in any concrete target. The dependency `MJExtension (~> 2.5.16)` is not used in any concrete target. The dependency `MJRefresh (~> 2.4.12)` is not used in any concrete target. The dependency `Masonry (~> 0.6.3)` is not used in any concrete target.
我用的三方庫比較多,挺長的,出這個錯是告訴咱們咱們所用的庫沒有指定target,它不知道用在哪裏,因此就給報錯了,而後我去了cocoapods的官網看了下,cocoapods官網地址
官網是這樣給推薦的:
在建立Podfile的時候,用這種格式使用,
platform :ios, '8.0' use_frameworks! target 'MyApp' do pod 'AFNetworking', '~> 2.6' pod 'ORStackView', '~> 3.0' pod 'SwiftyJSON', '~> 2.3' end
裏面的 MyApp 記得替換爲本身攻城裏面的target。這樣就基本OK了,執行pod install / pod update 就均可以了。