最新的 cocoaPods 安裝方法

来源:http://www.cnblogs.com/lurenq/archive/2016/12/25/6218783.html
-Advertisement-
Play Games

經過努力終於發現了最新的 解決cocoaPods安裝的辦法: taobao Gems 源已停止維護,現由 ruby-china 提供鏡像服務 第一步:安裝rvm, 不管需不需要升級ruby,rvm可以讓你擁有多個版本的Ruby,並且可以在多個版本之間自由切換。如果已經安裝過跳到第2步(rvm -v ...


經過努力終於發現了最新的 解決cocoaPods安裝的辦法:

taobao Gems 源已停止維護,現由 ruby-china 提供鏡像服務

第一步:安裝rvm,

不管需不需要升級ruby,rvm可以讓你擁有多個版本的Ruby,並且可以在多個版本之間自由切換。如果已經安裝過跳到第2步(rvm -v 查看是否安裝)

$ curl -L get.rvm.io | bash -s stable

//需要等一會

$ source ~/.bashrc

$ source ~/.bash_profile

等待終端載入完畢,後輸入

rvm -v

 

如果能顯示版本好則安裝成功了。

第二步:安裝ruby

CocoaPods目前安裝需要Ruby的版本大於2.2.2,不然會報錯:Error installing pods: activesupport requires Ruby version >= 2.2.2。目前Mac系統預設自帶是2.0,所以需要升級。

查看已安裝的ruby:

rvm list

如果已安裝版本大於2.2.2,直接到第3步。

ruby -v  //也可以查看ruby版本

//列出ruby可安裝的版本信息

rvm list known

rvm install 2.2.2  //安裝一個ruby版本

 

這裡一定要設置為預設版本

rvm use 2.2.2 --default

 

第三步:更換源

我們需要來修改更換源(由於國內被牆)所以要把源切換至ruby-china在終端執行以下命令

目前網上文章大都是這面這種:

$ sudo gem update --system

$ gem sources --remove https://rubygems.org/

//等有反應之後再敲入以下命令

$ gem sources -a https://ruby.taobao.org/

這裡是個大坑:會報錯_connect returned=1 errno=0 state=SSLv3 read servercertificateB:certificate verify failed (https://ruby.taobao.org/specs.4.8.gz)

這是因為taobao Gems 源已停止維護,現由 ruby-china 提供鏡像服務,正確的操作是:

$ sudo gem update --system

$ gem sources --remove https://rubygems.org/

$ gem sources --remove https://ruby.taobao.org/       //如果安裝了淘寶的鏡像

//等有反應之後再敲入以下命令

gem sources -a https://gems.ruby-china.org/

為了驗證你的Ruby鏡像是並且僅是ruby-china,可以用以下命令查看:

$ gem sources -l

只有在終端中出現下麵文字才表明你上面的命令是成功的:

*** CURRENT SOURCES ***

https://gems.ruby-china.org/

# 確保只有 gems.ruby-china.org

 

第四步:安裝CocoaPods

sudo gem install -n /usr/local/bin cocoapods

再加一句,完美解決

sudo xcode-select --switch/Applications/Xcode.app

在終端中輸入如下命令來完成安裝:

pod setup

它需要一點時間來完成,我反正是掛機等了一晚,你等就是了

如果安裝失敗 ~/.cocoapods 裡面是空的,就需要重新setup

命令如下:

pod repo remove master

pod setup

完畢之後這個文件夾大概有 100多M,需要花費比較多時間,請耐心等待。

到這裡你已經成功安裝了CocoaPods

終極辦法:把你已經裝好了cocoaPods同事~/.cocoapods目錄下的repo目錄拷貝下來,放進自己的目錄里。再  pod setup

 

為了確定CocoaPods是否可以使用,可以用CocoaPods的搜索功能驗證一下。在終端中輸入:

$ pod search AFNetworking

過一段時間之後(可能會比較久),你會在終端中看到一些紅色的錯誤信息,如下:

Setting up CocoaPods master repo

[!] /usr/bin/Gitclone 'https://github.com/CocoaPods/Specs.git' master --depth=1

Cloning into 'master'...

error: RPC failed; result=52, HTTP code = 0

fatal: The remote end hung up unexpectedly

這說明CocoaPods還不能正常使用,需要更新pod,下載它的一些依賴包;在終端中輸入:

$ pod setup

過一段時間之後,你會在終端中看到跟上面同樣的紅色的錯誤信息。

敲入以上命令時,小編終端上是這個樣子的(由於太長,僅截取前面一部分):

這說明某些環境原因導致pod更新不了,可能原因有,1)gem版本太低;2)github無法鏈接;3).cocoapods目錄下的配置信息錯誤。我們可以一個一個來排除,

首先更新gem到最新版本,在終端中輸入:

$ sudo gem update --system

然後檢查是否可以ping通github,在終端中輸入:

$ ping github.com

然後查看pob repo list:

$ pod repo list

結果顯示0 repos,說明沒有安裝成功;

刪除.cocoapods目錄,重新下載pod更新:

$ cd ~/.cocoapods/

$ sudo -rm -rf ~/.cocoapods/

重新執行pod setup,過一段時間後提示setup completed,在終端中輸入 pod list,展示出安裝列表;

敲入以上命令時,小編終端上是這個樣子的(由於太長,僅截取前面一部分):

錯誤代理

[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --depth=1

Cloning into 'master'...

fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': Failed to connect to proxy.com port 1234: Operation timed out

很明顯啊,應為不好,這歌意思是:代理出現了問題,導致clone不下來,研究了好長時間,於是有一下兩種辦法1》修改代理如:git config --global http.proxy   192.168.1.1:8081(這個代理時瞎寫的)2》

git config --global http.proxy 查詢到當前設置了代理,所以取消這個設置: 

git config --global --unset http.proxy
再查詢,已經沒有了代理,  後成功安裝。

 

看到這裡,你心裡會不會說,我靠!太爽了,終於下載並且安裝好了!接下來看下如何使用吧。。

我們先創建這個神奇的PodFile。在終端中進入(cd命令)你項目所在目錄,然後在當前目錄下,利用vim創建Podfile,運行:

$ vim Podfile

然後在Podfile文件中輸入以下文字:

需要註意的是podfile裡面輸入的格式變了。

platform :ios, '8.0'

target '你的項目名稱' do

pod 'AFNetworking', '~> 3.1.0'

end

然後保存退出。vim環境下,保存退出命令是:

:wq

這時候,你會發現你的項目目錄中,出現一個名字為Podfile的文件,而且文件內容就是你剛剛輸入的內容。註意,Podfile文件應該和你的工程文件.xcodeproj在同一個目錄下。

這時候,你就可以利用CocoPods下載AFNetworking類庫了。還是在終端中的當前項目目錄下,運行以下命令:

$ pod install

 

最近使用CocoaPods來添加第三方類庫,無論是執行pod install還是pod update都卡在了Analyzing dependencies不動

原因在於當執行以上兩個命令的時候會升級CocoaPods的spec倉庫,加一個參數可以省略這一步,然後速度就會提升不少。加參數的命令如下:


$ pod install --verbose --no-repo-update 
$ pod update --verbose --no-repo-update

 

註意最後一句話,意思是:以後打開項目就用 CocoaPodsDemo.xcworkspace 打開,而不是之前的.xcodeproj文件。否則無法關聯pod下來的類庫。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 自從威少砍下45+11+11的大號三雙之後,網上出現了各種各樣的神級段子,有一條是這樣的: 威少:Hey,哥們,最近過得咋樣! 濃眉:對方開啟了好友驗證,請先添加對方為好友 威少:。。。。。。 JRS:2333333 看到了一條比賽當天的數據統計:威少45+11+11,杜少32+8+3,伊巴卡19+ ...
  • 一、變數提升 在ES6之前,JavaScript沒有塊級作用域(一對花括弧{}即為一個塊級作用域),只有全局作用域和函數作用域。變數提升即將變數聲明提升到它所在作用域的最開始的部分。上個簡歷的例子如: 之所以會是以上的列印結果,是由於js的變數提升,實際上上面的代碼是按照以下來執行的: 二、函數提升 ...
  • JavaScript [1]事件 ①用戶操作網頁或者瀏覽器所發生的交互行為稱為事件。比如:點擊按鈕,最小化視窗,修改文本框內容等。 ②JS為我們定義許多瀏覽器中的事件。比如:單擊(onclick)、雙擊(ondblclick)、移動(onmousemove) 等。 ③我們可以通過為事件設置一個響應函 ...
  • 用戶反饋是小程式開發必要的一個功能,但是和自己核心業務沒關係,主要是產品運營方便收集用戶的對產品的反饋。HotApp推出了用戶反饋的組件,方便大家直接集成使用 源碼下載地址: https://github.com/hotapp8/hotapp-fedback (1)零代碼接入用戶反饋功能 界面仿微信 ...
  • 昨天的(今天凌晨)的博文《Android中Fragment和ViewPager那點事兒》中,我們通過使用Fragment和ViewPager模仿實現了微信的佈局框架。今天我們來通過使用ListView實現其中聯繫人一欄的基本視圖,效果如下: 要實現上圖的效果,我們要用到兩個知識點: 1、這裡我們使用 ...
  • listview經常結合下來刷新和上拉載入更多使用,本文總結了三種常用到的方案分別作出說明。 ...
  • 概述 本篇文章會從源碼(基於Android 6.0)角度分析Android中View的繪製流程,側重於對整體流程的分析,對一些難以理解的點加以重點闡述,目的是把View繪製的整個流程把握好,而對於特定實現細節則可以日後再對相應源碼進行研讀。在進行實際的分析之前,我們先來看下麵這張圖: 我們來對上圖做 ...
  • 鎖終端 輸入: <1>cd /Applications/Xcode.app 回車 結果顯示: Xcode.app 輸入: <2>sudo chown -hR root:wheel Contents 回車 結果顯示: WARNING: Improper use of the sudo command ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...