1、概要
iOS開發時,項目中會援用許多第3方庫,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用來方便的統1管理這些第3方庫(從1個坑出來,又進了另外一個坑而已……)。
2、安裝
由于網上的教程基本都大同小異,但細節的地方還不是很完善,所以借機會在這里補充下:
注:要使用CocoaPods,那就要下載安裝它,而下載安裝CocoaPods需要Ruby環境
1、Ruby環境搭建
當前安裝環境為Mac mini 10.8.5。Mac OS本身自帶Ruby,但還是更新1下保險,由于我第1次安裝在沒有更新Ruby的情況下就失敗了。
a 查看下當前ruby版本:打開終端輸入 ruby -v(確切安裝了,不過用這個版本接下來工作失敗了,所以更新下ruby)
終端輸入以下命令(把Ruby鏡像指向taobao,避免被墻,你曉得)
gem sources --remove https://rubygems.org/
gem sources -a http://ruby.taobao.org/
gem sources -l (用來檢查使用替換鏡像位置成功)
補充:(2016-01⑵0更新)
淘寶已關閉HTTP協議的景象服務,改成HTTPS協議。
淘寶ruby地址:https://ruby.taobao.org/
2、下載安裝CocoaPods終端輸入:sudo gem install cocoapods
這樣就下載安裝好了CocoaPods
3、使用CocoaPods
a 新建1個項目,名字PodTest
b 終端中,cd到項目總目錄(注意:包括PodTest文件夾、PodTest.xcodeproj、PodTestTest的那個總目錄)
接著上1步,終端輸入 vim Podfile
鍵盤輸入 i,進入編輯模式,輸入
platform :ios, '7.0'
pod 'MBProgressHUD', '~> 0.8'
然后按Esc,并且輸入“ :”號進入vim命令模式,然后在冒號后邊輸入wq
注意:鍵盤輸入 :后,才能輸入wq。回車后發現PodTest項目總目錄中多1個Podfile文件
激動人心的時刻到了:肯定終端cd到項目總目錄,然后輸入 pod install,等待1會,大約3分鐘。
查看項目根目錄:
注意:現在打開項目不是點擊 PodTest.xodeproj了,而是點擊 PodTest.xcworkspace
對工程產生的變化,有幾點需要說明:
a、第3方庫會以成靜態庫方式引入工程使用
CocoaPods會將所有的第3方庫以target的方式組成1個名為Pods的工程,該工程就放在剛才新生成的Pods目錄下。全部第3方庫工程會生成1個名稱為libPods.a的靜態庫提供給工程使用。
b、xcworkspace(PodTest.xcworkspace)的作用是管理工程和第3方庫
PodTest工程和Pods工程被以workspace的情勢組織和管理。
打開項目后看到項目結構并且測試1下:
運行結果:
補充:
1、CocoaPods的基本安裝及使用都詳細的說明了,但還有1些補充,當需要同時導入多個第3方時候怎樣辦 ?
這就需要修改Podfile了,就是用vim編輯的那個保存在項目根目錄中的文件,修改完了Podfile文件,需要重新履行1次pod install命令。
例如:
platform :ios
pod 'JSONKit', '~> 1.4'
pod 'AFNetworking', '~> 2.0'
終端輸入命令:pod search UI
瘋了了,我怎樣查找這么大眾的關鍵字,好多庫~~
然后重新編輯Podfile文件,依照之前的步驟,把更多的庫都導入項目!
3、上文中“建立Podfile(配置文件)接著上1步,終端輸入 vim Podfile”步驟,如果不習慣使用vim編輯器,也能夠使用linux命令touch,生成1個空的Podfile文件,然后使用其他的文本編輯器都可以,例如:
4、如果已生成了CocoaPods管理的工程,則可以在Xcode中編輯Podfile,編輯保存后,別忘記cd到根目錄,調用pod install命令
5、項目存在多個Target的時候,需要配置Podfile文件來支持新增加的Target,否則只支持項目默許建立時生成的Target:
a、如果新建1個Target,命名為Second,并且Second與Test兩個Target所需要的第3方支持相同,也就是使用相同的Pods依賴庫,則可使用
link_with關鍵字:
6、出現/Library/Ruby/Gems/2.0.0/gems/claide-0.8.1/lib/claide/command.rb:417:in `help!': [!] You cannot run CocoaPods as root. (CLAide::Help)
重新打開1個終端,然后pod install,不要sudo pod install。
7、如果$ pod install時候遇到:
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈