測試CocoaPods是否安裝成功: 在終端輸: pod search + 開源類庫的名字 如: 若安裝成功會出現下圖所示: 如果安裝失敗,點擊回車後會報一行紅色錯誤,一般遇到這種情況最笨的辦法就是重新安裝。 簡單實用創建一個CocoaPods 1)在桌面上創建一個工程Demo(以Xcode7.3. ...
測試CocoaPods是否安裝成功:
在終端輸:
pod search + 開源類庫的名字
如:
pod search AFNetWorking
若安裝成功會出現下圖所示:
如果安裝失敗,點擊回車後會報一行紅色錯誤,一般遇到這種情況最笨的辦法就是重新安裝。
簡單實用創建一個CocoaPods
1)在桌面上創建一個工程Demo(以Xcode7.3.1創建)。它的文件構成如下:
2)在這個工程中創建一個Podfile文件(註意:名字必須是Podfile)
<1>使用終端創建Podfile文件
a.使用終端找到當前這個工程文件夾
$cd Desktop/Demo
b.創建空白的Podfile文件
$touch Podfile
第二種方法創建Podfile
<2>使用高級記事本(如:Sublime Text 2)創建Podfile文件
創建一個空白文件並保存,文件名為Podfile(後面不跟任何字元)
此時的文件結構如下:
3)在Podfile文件中寫入要使用的第三方框架,這裡以AFNetworking為例。打開終端,輸入pod search AFNetworking回車,如下圖所示,裡面顯示了AFNetworking這個開源類庫的一些基本信息。
只需要將Podfile文件中書寫的那句複製並粘貼到Podfile文件中即可
1 platform :ios,'8.0 ' 2 target 'CocoaPodsDemo' do 3 pod 'AFNetworking','~>3.1.0' 4 end
Pod文件配置
解釋: 第一行:platform:ios, '8.0' ----->開源類庫支持的項目最低系統版本; 第二行和第四行:這是CocoaPods升級1.0.1版本後新增的,單引號中間填寫項目工程名,其書寫時固定格式,兩行中間是開源類庫的配置信息; 第三行:這行信息是告訴CocoaPods去下載AFNetworking類庫和它的3. 1.0版本,是一條配置信息。
4)將開源類庫導入工程中
<1>使用終端找到當前這個工程文件夾
$cd Desktop/Demo
<2>安裝第三方開源類庫(跟新類庫可使用$pod update)
$pod install
安裝完成如下圖所示
註意:上面綠色的兩行內容意思是說:請關閉任何當前Xcode會話和使用的演示,從現在起使用“Demo.xcworkspace”這個項目。
這時再次打開項目文件就會發現多了三個文件,如下圖所示:
5)總結CocoaPods的使用
<1>在終端搜索相應的開源類庫,命令為:$pod search +開源類庫;
<2>打開Podfile文件,修改其中的信息;
<3>安裝(更新)即可,命令為:$pod install(或$pod update)。
使用CocoaPods的註意點
(1)從現在起,我們只需要使用尾碼名為.xcworkspace的文件來開發;
(2)第三方類庫會被編譯成靜態庫供我們的工程使用,我們可以打開查看源碼,但是不能做任何修改;
(3)筆者在此演示的是一個第三方開源類庫的導入,其實多個第三方開源類庫的導入是同樣的操作,Podfile文件中的書寫如下圖所示:
多個類庫的配置
4)使用CocoaPods刪除不用的類庫
前面給大家演示了使用CocoaPods如何導入類庫,如果不想使用其中某個類庫怎麼辦呢?
其實很簡單,只要在Podfile文件中將不想用的類庫的配置信息刪除,並且在終端執行一次pod update命令即可,重新打開就會發現對應的類庫已經被移除了。
5)第三方開源類庫版本號的各種寫法與含義
1 pod 'AFNetworking' //不顯式指定依賴庫版本,表示每次都獲取最新版本 2 3 pod 'AFNetworking', '2.0' //只使用2.0版本 4 5 pod 'AFNetworking', '>2.0' //使用高於2.0的版本 6 7 pod 'AFNetworking', '>=2.0' //使用大於或等於2.0的版本 8 9 pod 'AFNetworking', '<2.0' //使用小於2.0的版本 10 11 pod 'AFNetworking', '<=2.0' //使用小於或等於2.0的版本 12 13 pod 'AFNetworking', '~>0.1.2' //使用大於等於0.1.2但小於0.2的版本,相當於>=0.1.2並且<0.2.0 14 15 pod 'AFNetworking', '~>0.1' //使用大於等於0.1但小於1.0的版本 16 17 pod 'AFNetworking', '~>0' //高於0的版本,寫這個限制和什麼都不寫是一個效果,都表示使用最新版本
6)每次更改了Podfile文件後都需要執行一次$pod
update命令(此時如果新添加了類庫,CocoaPods會下載新添加的類庫,並且更新有新版本的類庫)。
(7)CocoaPods的重新安裝或者版本更新
這個有點繁瑣,必須先卸載原先的CocoaPods,然後重新執行安裝命令即可。其卸載命令為:
$ sudo gemuninstall CocoaPods
使用CocoaPods導入頭文件的常見問題及解決辦法
(1)CocoaPods找不到頭文件
問題描述:使用CocoaPods時,import找不到頭文件。
問題原因:這是因為還沒設置頭文件的目錄。
解決辦法:在項目的Target的里設置一下,添加CocoaPods頭文件目錄:目錄路徑直接寫:${SRCROOT},後邊選擇recursive(會在相應的目錄遞歸搜索文件) ,就可以了。
註意:是在User Header Search Paths里添加,不是上面的Header Search Paths.
如下圖:
CocoaPods找不到頭文件解決方法
(2)CocoaPods導入頭文件不提示
問題描述:使用CocoaPods時,import導入頭文件時,不提示文件名。
問題原因:這是因為還沒設置頭文件的目錄。
解決辦法:在項目的Target的里設置一下,添加CocoaPods頭文件目錄:目錄路徑直接寫:$(PODS_ROOT),後邊選擇recursive (會在相應的目錄遞歸搜索文件),就可以了。
註意:是在User Header Search Paths里添加,不是上面的Header Search Paths.
如下圖:
iOS 最新版 CocoaPods 的安裝及使用
作者 小松wolf 關註 2016.07.30 11:26* 字數 2562 閱讀 2460評論 8喜歡 12當在開發iOS應用時,會經常使用到很多的第三方開源類庫,一般的方法是直接從GitHub下載,然後拖到項目中使用,如果該開源類庫不依賴其他的類庫,就可以直接使用;如果該開源類庫還依賴一些其他的類庫,則需要我們手動導入並配置,顯得十分麻煩。此時第三方開源類庫管理工具CocoaPods就顯得十分重要了。接下來,就帶大家看看CocoaPods的安裝及使用:
一、下載和安裝CocoaPods(使用終端)
在安裝CocoaPods之前,首先要在本地安裝好Ruby環境,預設情況下,Mac自帶Ruby環境。因為Ruby的預設源rubygems.org使用的是亞馬遜的雲服務,在國內使用會被牆,所以需要更換一下Ruby的源,將其更換為國內淘寶的源。
1.移除現有Ruby預設源
$gem sources --remove https://rubygems.org/
2.使用新的源
$gem sources -a https://gems.ruby-china.org
這部分內容可以訪問RubyGems鏡像網站
3.驗證新源是否替換成功
$gem sources -l
新源替換成功如下圖:
新源替換成功
4.安裝CocoaPods(分Mac系統進行)
(1)Mac系統:OS X EL Capitan(2015年9月29號發佈)及之後
<1>$sudo gem install -n /usr/local/bin cocoapods
<2>$pod setup
(2)Mac系統:OS X 10.10 Yosemite(2014年6月3號發佈)及之前
<1>$sudo gem install cocoapods
<2>$pod setup
註意:輸入pod setup之後可能會一直卡頓在Setting up CocoaPods master
repo處,原因是CocoaPods版本升級到1.0.1版本後,其文件有800多兆大,需要慢慢下載。為了查看安裝進度,可以另開啟一個終端
(1)輸入cd ~/.cocoapods;
(2)進入.cocoapods之後,輸入du –sh查看已下載文件的大小。
5.更新gem
$sudo gem update --system
備註:在輸入上面的命令後需要輸入密碼(Mac電腦的開機密碼),直接輸入就好,上面的游標不會變化,輸入完成後直接確定即可。
更新完成後顯示如下圖所示:
gem更新成功
二、CocoaPods的使用
1.測試CocoaPods的功能
當上面的步驟都做完,需要查看一下CocoaPods是否安裝成功(一般會安裝成功,不過也不排除一些意外),這時只需在終端輸入pod search +開源類庫的名字(pod search AFNetworking)回車即可。
如果安裝成功則如下圖所示,會顯示出相關的所有第三方開源類庫。
CocoaPods測試成功
如果安裝失敗,點擊回車後會報一行紅色錯誤,一般遇到這種情況最笨的辦法就是重新安裝。
2.簡單實用CocoaPods(以一個例子來說明)
(1)在桌面上創建一個工程Demo(以Xcode7.3.1創建)。它的文件構成如下:
項目基本文件結構
(2)在這個工程中創建一個Podfile文件(註意:名字必須是Podfile)
<1>使用終端創建Podfile文件
a.使用終端找到當前這個工程文件夾
$cd Desktop/Demo
b.創建空白的Podfile文件
$touch Podfile
<2>使用高級記事本(如:Sublime Text 2)創建Podfile文件
創建一個空白文件並保存,文件名為Podfile(後面不跟任何字元)
此時的文件結構如下:
新增Podfile文件
(3)在Podfile文件中寫入要使用的第三方框架,這裡以AFNetworking為例。打開終端,輸入pod search AFNetworking回車,如下圖所示,裡面顯示了AFNetworking這個開源類庫的一些基本信息。
類庫基本信息
打開工程文件夾,選擇Podfile文件,右擊選擇文本編輯或者高級記事本打開。
<1>CocoaPods版本為1.0.1之前
只需要將Podfile文件中書寫的那句複製並粘貼到Podfile文件中即可
<2>CocoaPods版本為1.0.1及之後書寫如下圖所示:
Podfile文件配置
解釋:
第一行:platform:ios, '8.0' ----->開源類庫支持的項目最低系統版本;
第二行和第四行:這是CocoaPods升級1.0.1版本後新增的,單引號中間填寫項目工程名,其書寫時固定格式,兩行中間是開源類庫的配置信息;
第三行:這行信息是告訴CocoaPods去下載AFNetworking類庫和它的3. 1.0版本,是一條配置信息。
(4)將開源類庫導入工程中
<1>使用終端找到當前這個工程文件夾
$cd Desktop/Demo
<2>安裝第三方開源類庫(跟新類庫可使用$pod update)
$pod install
安裝完成如下圖所示
安裝成功信息圖
註意:上面綠色的兩行內容意思是說:請關閉任何當前Xcode會話和使用的演示,從現在起使用“Demo.xcworkspace”這個項目。
這時再次打開項目文件就會發現多了三個文件,如下圖所示:
類庫導入效果
此時按照提示雙擊Demo.xcworkspace這個文件(不再使用Demo.xcodeproj文件)打開項目,觀察右側導航面板有兩個工程,第一個Demo工程是我們正常的開發工程,第二個Pods工程是開源類庫依賴工程(使用CocoaPods導入的第三方開源類庫都在這裡面),如下圖所示:
使用類庫項目結構圖
它的文件結構還是很明顯的,我們需要特別註意的是AFNetworking已經在項目中了,並且測試是可以使用的(筆者使用Xcode7.3.1開發測試的,鑒於這個版本的提示比較坑,所以在使用時使用<>導入時有提示,但使用””導入時沒有提示,不過此時使用何種導入方式都可以,都可以使用AFNetworking類庫了,建議使用””導入)。
(5)總結CocoaPods的使用
<1>在終端搜索相應的開源類庫,命令為:$pod search +開源類庫;
<2>打開Podfile文件,修改其中的信息;
<3>安裝(更新)即可,命令為:$pod install(或$pod update)。
3.使用CocoaPods的註意點
(1)從現在起,我們只需要使用尾碼名為.xcworkspace的文件來開發;
(2)第三方類庫會被編譯成靜態庫供我們的工程使用,我們可以打開查看源碼,但是不能做任何修改;
(3)筆者在此演示的是一個第三方開源類庫的導入,其實多個第三方開源類庫的導入是同樣的操作,Podfile文件中的書寫如下圖所示:
多個類庫的配置
(4)使用CocoaPods刪除不用的類庫
前面給大家演示了使用CocoaPods如何導入類庫,如果不想使用其中某個類庫怎麼辦呢?其實很簡單,只要在Podfile文件中將不想用的類庫的配置信息刪除,並且在終端執行一次pod update命令即可,重新打開就會發現對應的類庫已經被移除了。
(5)第三方開源類庫版本號的各種寫法與含義
pod 'AFNetworking' //不顯式指定依賴庫版本,表示每次都獲取最新版本
pod 'AFNetworking', '2.0' //只使用2.0版本
pod 'AFNetworking', '>2.0' //使用高於2.0的版本
pod 'AFNetworking', '>=2.0' //使用大於或等於2.0的版本
pod 'AFNetworking', '<2.0' //使用小於2.0的版本
pod 'AFNetworking', '<=2.0' //使用小於或等於2.0的版本
pod 'AFNetworking', '~>0.1.2' //使用大於等於0.1.2但小於0.2的版本,相當於>=0.1.2並且<0.2.0
pod 'AFNetworking', '~>0.1' //使用大於等於0.1但小於1.0的版本
pod 'AFNetworking', '~>0' //高於0的版本,寫這個限制和什麼都不寫是一個效果,都表示使用最新版本
(6)每次更改了Podfile文件後都需要執行一次$pod
update命令(此時如果新添加了類庫,CocoaPods會下載新添加的類庫,並且更新有新版本的類庫)。
(7)CocoaPods的重新安裝或者版本更新
這個有點繁瑣,必須先卸載原先的CocoaPods,然後重新執行安裝命令即可。其卸載命令為:
$ sudo gemuninstall CocoaPods
4.使用CocoaPods導入頭文件的常見問題及解決辦法
(1)CocoaPods找不到頭文件
問題描述:使用CocoaPods時,import找不到頭文件。
問題原因:這是因為還沒設置頭文件的目錄。
解決辦法:在項目的Target的里設置一下,添加CocoaPods頭文件目錄:目錄路徑直接寫:${SRCROOT},後邊選擇recursive(會在相應的目錄遞歸搜索文件) ,就可以了。
註意:是在User Header Search Paths里添加,不是上面的Header Search Paths.
如下圖:
CocoaPods找不到頭文件解決方法
(2)CocoaPods導入頭文件不提示
問題描述:使用CocoaPods時,import導入頭文件時,不提示文件名。
問題原因:這是因為還沒設置頭文件的目錄。
解決辦法:在項目的Target的里設置一下,添加CocoaPods頭文件目錄:目錄路徑直接寫:$(PODS_ROOT),後邊選擇recursive (會在相應的目錄遞歸搜索文件),就可以了。
註意:是在User Header Search Paths里添加,不是上面的Header Search Paths.
如下圖:
參考資料:CocoaPods 的安裝與使用