CocoaPods的安裝使用和常見問題

2021-08-31 16:25:06 字數 2976 閱讀 4420

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!

**:一、什麼是cocoapods

二、cocoapods的原理

cocoapods的原理是將所有的依賴庫都放到另乙個名為pods的專案中,然後讓主專案依賴pods專案,這樣,原始碼管理工作都從主專案移到了pods專案中。pods專案最終會編譯成乙個名為libpods.a的檔案,主專案只需要依賴這個.a檔案即可。

三、cocoapods的安裝

cocoapods可以方便地通過mac自帶的rubygems安裝。

開啟terminal,然後鍵入以下命令:

$ sudo gem install cocoapods

執行完這句如果報告以下錯誤:

error: could not find a valid gem 'cocoapods' (>= 0), here is why:

unable to download data from  - errno::etimedout: operation timed out - connect(2) (latest_specs.4.8.gz)

error: possible alternatives: cocoapods

這是因為ruby的軟體源rubygems.org因為使用亞馬遜的雲服務,被我**遮蔽了,需要更新一下ruby的源,過程如下:

$ gem sources -l (檢視當前ruby的源)

$ gem sources --remove 

$ gem sources -a 

$ gem sources -l

接下來進行安裝,執行:

四、cocoapods的使用

進入工程所在的目錄(工程根目錄)

執行命令 touch podfile

這句是說新建乙個名為podfile的檔案(不能寫成別的名字,也可以自己在工程根目錄裡面直接新建)

然後對改檔案進行編輯,執行命令 open -e podfile

第一次執行這個命令,會有乙個空白檔案開啟,可以先放在一邊,

podfile檔案的格式應該如下:

platform :ios, '7.0'

pod 'amap2dmap', '~> 2.5.0'

pod 'afnetworking', '~> 2.5.3'

pod 'sdwebimage', '~> 3.7.2'

需要注意的幾點:platform那一行,ios三個字母都要小寫,而且與前面的冒號之間不能有間隔,後面的版本號也可以不寫,但是有些開源庫對版本是有要求的,比如要在6.0以上才能執行,遇到這樣的開源庫就需要寫上版本號。

platform下面就是cocoapods需要整合的開源庫,根據你的需要確定整合那些庫。

舉個例子:

我要整合afnetworking這個庫類,需要在cocoapods裡面先搜尋是否有需要的庫,可以在terminal中輸入:

pod search afnetworking

回車之後就可以看到和你搜尋的關鍵字相關的一些庫類,如圖:

其中第乙個就是我們需要的,把pod 『afnetworking』, 『~>2.5.3』

那一行複製到我們的podfile檔案中,儲存修改。

然後在terminal中執行 :

pod install

ps:當執行pod install之後,除了podfile,還會生成乙個名為podfile.lock的檔案,它會鎖定當前各依賴庫的版本,之後即使多次執行pod install也不會更改版本,只有執行pod update才會改變podfile.lock.在多人協作的時候,這樣可以防止第三方庫公升級時候造成大家各自的第三方庫版本不一致。所以在提交版本的時候不能把它落下,也不要新增到.gitignore中.

五、常見問題

1.[!] invalidpodfilefile: undefined local variable or method `en_us' for #. updating cocoapods might fix the issue.

原因:單引號格式,可能是手動輸入導致

解決辦法:系統偏好設定-鍵盤-文字-將「使用智慧型引號和破折號」一項取消勾選-再將podfile裡面的單(雙)引號修改一下

2.argumenterror - invalid byte sequence in us-ascii

原因:字符集錯誤

解決辦法:

使用locale命令檢視當前的字符集,如果都是zh,需要執行以下命令:

export lc_all=en_us.utf-8

export lang=en_us.utf-8

然後再使用locale命令檢視,已經改過來了

[!] theymtea [debug]target overrides theother_ldflagsbuild setting defined in `pods/target support files/pods/pods.debug.xcconfig'. this can lead to problems with the cocoapods installation

[!] theymtea [release]target overrides theother_ldflagsbuild setting defined in `pods/target support files/pods/pods.release.xcconfig'. this can lead to problems with the cocoapods installation

安裝和使用cocoaPods

一 cocoapods是什麼?在ios開發中,我們一定會經常使用到各種各樣的第三方開源庫,使用這些開源庫的時候,需要引入原始碼 進行設定 引入其他framework,還有版本的更新.這些工作沒有技術含量而且複雜。這個時候,你要是用了cocoapods,只需要將用到的第三方開源庫放到乙個名為podfi...

CocoaPods安裝和使用

cocoapods安裝和使用 1 需要在本地安裝ruby環境 在終端中輸入 sudo geminstall cocoapods 如果被牆則輸入 gemsources remove gemsources a 檢視是否成功 gemsources l 出現以下則成功 current sources 接著輸...

cocoaPods安裝和使用

1.檢查ruby預設源的映象 沒有改過是cocoapods.org gem sources l 2.移除原有的,映象換成 的 sudo gem sources r sudo gem sources a 報錯 error fetching bad response not found 404 原因是 ...