1. 程式人生 > >IOS開發-CocoaPods安裝和使用教程及常見錯誤

IOS開發-CocoaPods安裝和使用教程及常見錯誤

CocoaPods是iOS最常用的第三方類庫管理工具,絕大部分有名的開源類庫都支援CocoaPods。所以,作為iOS程式設計師,掌握CocoaPods的使用是必備技能。
下面我們就來講一下CocoaPods的安裝流程。
第一步:安裝cocoapods

sudo gem install cocoapods

>ERROR:  Could not find a valid gem 'cocoapods' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - Errno::ECONNRESET: Connection reset by
peer - SSL_connect (https://rubygems.org/latest_specs.4.8.gz)

如果這裡寫程式碼片以上為安裝不成功的終端輸出,執行以下操作

gem sources --remove  https://rubygems.org/
gem sources -a http://ruby.taobao.org/
gem sources -l(用來檢視是否成功)
sudo gem install cocoapods

安裝成功後,接著執行命令:

pod setup

如果Ruby環境不夠新,可能需要更新以下:

sudo gem update –system

至此安裝就完成了,我們可以嘗試搜尋一個第三方類庫:

pod search AFNetworking

終端顯示出查詢的AFNetworking類

-> AFNetworking (3.0.4)
   A delightful iOS and OS X networking framework.
   pod 'AFNetworking', '~> 3.0.4'
   - Homepage: https://github.com/AFNetworking/AFNetworking
   - Source:   https://github.com/AFNetworking
/AFNetworking.git
- Versions: 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 3.0.0-beta.3, 3.0.0-beta.2, 3.0.0-beta.1, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.1, 2.4.0, 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1, 0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo] - Subspecs: - AFNetworking/Serialization (3.0.4) - AFNetworking/Security (3.0.4) - AFNetworking/Reachability (3.0.4) - AFNetworking/NSURLSession (3.0.4) - AFNetworking/UIKit (3.0.4) -> AFNetworking+AutoRetry (0.0.5) Auto Retries for AFNetworking requests pod 'AFNetworking+AutoRetry', '~> 0.0.5' - Homepage: https://github.com/shaioz/AFNetworking-AutoRetry - Source: https://github.com/shaioz/AFNetworking-AutoRetry.git - Versions: 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1 [master repo]

使用CocoaPods的第一步,是在當前專案下,新建一個Podfile檔案:

touch Podfile

然後利用

vim Podfile

檔案編輯,或者

open -e Podfile

加入你想要使用的類庫,格式如下:

platform :ios
pod 'Reachability', '3.1.0'

platform:ios, '7.0'
pod 'JSONKit','1.4'
pod 'AFNetworking', '~> 2.3.1'

關閉vim
:wq

如果是拷貝的別人的專案,或是一個很久沒開啟過的專案,可能需要先執行一下:

pod update

然後呼叫下面命令來進行初始化(下載庫):

pod install

錯誤資訊

  • [!] Unable to satisfy the following requirements:

    • AFNetworking (~> 3.0.4) required by Podfile

    Specs satisfying the AFNetworking (~> 3.0.4) dependency were found,
    but they required a higher minimum deployment target.

如果出現以上資訊是因為配置檔案Podfile 檢查 # platform :ios, ‘8.0’ 有沒有指定版本

pod ‘AFNetworking’, ‘~> 3.0.4’

這裡寫圖片描述
這樣就大功告成了!

注意點補充
1、使用CocoaPods生成的 .xcworkspace 檔案來開啟工程,而不是以前的 .xcodeproj 檔案。
2、每次更改了Podfile檔案,你需要重新執行一次pod install或者pod update命令
3、前面的每一步都有可能出現問題,但大部分問題都是因為大區域網的原因,用一個網速穩定的境外VPN可破
4、第三方庫編寫版本問題

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的版本,寫這個限制和什麼都不寫是一個效果,都表示使用最新版本