CocoaPods安裝和使用201712

来源:https://www.cnblogs.com/aitdsr/archive/2017/12/29/8146434.html
-Advertisement-
Play Games

CocoaPods安裝使用詳解 2017.12 首先,很有必要瞭解一下CocoaPods、Ruby和RubyGems,以及它們之間的關係。 CocoaPods是第三方庫的輔助管理工具,依賴於Ruby。 Ruby是一種簡捷的面向對象腳本語言。 RubyGems相當於Ruby的一個管理工具。 以下幾個官 ...


CocoaPods安裝使用詳解

2017.12

 

 

首先,很有必要瞭解一下CocoaPods、Ruby和RubyGems,以及它們之間的關係。

 

CocoaPods是第三方庫的輔助管理工具,依賴於Ruby。

 

Ruby是一種簡捷的面向對象腳本語言。

 

RubyGems相當於Ruby的一個管理工具。

 

 

 

以下幾個官網有必要看看,

https://cocoapods.org

https://www.ruby-lang.org/en/

http://guides.rubygems.org

 

  

 

---------------------------------------CocoaPods------------------------------

 

CocoaPods官網地址:

https://cocoapods.org

 

簡介

    CocoaPods是Swift和Object-C Cocoa工程的輔助管理工具。

 

 

安裝

CocoaPods是使用Ruby構建的,並且可以使用OS X上預設的Ruby進行安裝,官方建議使用預設的ruby,

不用升級RubyGems和Ruby,如果真的需要,可參考本文後半部分

 

 

查看gem的資源下載地址(如果添加過其它地址,都會顯示出來)

gem source –l

輸出結果為*** CURRENT SOURCES *** https://rubygems.org/

而這個地址我們訪問不到,所以需要換掉。

 

刪除無用的資源地址

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

 

添加可用的地址

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

 

 

在此要感謝https://ruby-china.org平臺的貢獻 

 

然後安裝cocoapods

sudo gem install cocoapods

 

此時可能會出現錯誤

ERROR:  SSL verification error at depth 1: unable to get local issuer certificate (20)

ERROR:  You must add /O=Digital Signature Trust Co./CN=DST Root CA X3 to your local trusted store

解決方法:gem source –l查看地址是否有錯誤,有則改正;如果沒錯嘗試使用sudo gem install -n /usr/local/bin cocoapods

 

ERROR:  While executing gem ... (OpenSSL::SSL::SSLError)

    hostname "upyun.gems.ruby-china.org" does not match the server certificate的錯誤,

解決方法:可嘗試把source移除再重新添加,然後再執行sudo gem install cocoapods或sudo gem install -n /usr/local/bin cocoapods

 

安裝完成後,執行

pod setup

此操作時間較長,也可以現在不執行這句,不過在之後的使用中仍然會有setup操作。

 

 

CocoaPods的使用

以下使用都是在工程根目錄進行。

 

在終端中cd到工程根目錄,

 

創建Podfile

touch Podfile

 

打開Podfile

open –e Podfile

 

搜索需要用的第三方庫,如果已經在Podfile中添加了可忽略此步

pod search 庫名

 

出現問題

[!] Unable to find a pod with name, author, summary, or description matching `庫名`

[!] Skipping `0` because the podspec contains errors.

解決方法:在工程根目錄執行

rm ~/Library/Caches/CocoaPods/search_index.json

再進行搜索

 

將需要的第三方庫按照指定格式添加到Podfile中保存

 

在工程中安裝Pods

pod install

 

出現問題

     - Use the `$(inherited)` flag, or

 - Remove the build settings from the target.

解決方法:在Build Settings -> Other linker flags 中添加$(inherited)完成之後運行pod update

 

出現問題

[!] Invalid `Podfile` file: syntax error, unexpected keyword_end, expecting end-of-input.

[!] Smart quotes were detected and ignored in your Podfile. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.

解決方法:Podfile格式不對,修改Podfile(空行沒什麼影響),格式參考:

platform :ios, '8.0'

target 'carsharing' do

pod 'AFNetworking', '~> 3.1.0'

end

 

 

查看CocoaPods版本

pod --version

 

 

 

更新CocoaPods,再次安裝即可

sudo gem install cocoapods

 

 

有關CocoaPods的主要操作

 

 

 

---------------------------------------更新RubyGems------------------------------

查看rubygems版本

gem -v

 

 

更新rubygems版本

sudo gem update –system

 

 

 

 

---------------------------------------更新Ruby------------------------------

 

更新ruby

有時候會由於ruby版本較低導致出錯,比如更新完RubyGems後,在終端運行sudo gem update時出錯,

 

 

查看ruby當前版本

ruby –v

 

 

 

更新需要用到第三方的管理工具,ruby官網介紹的有幾種工具,可以使用homebrew進行更新,網址:

https://www.ruby-lang.org/en/documentation/installation/#homebrew

 

 

Homebrew工具:

 

 

進入Homebrew官網,可以看到Homebrew的安裝方法

https://brew.sh/index_zh-cn.html

 

 

在終端運行

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"安裝homebrew,

 

 

等待執行完,運行

brew install ruby

 

至此出現了Error: Xcode alone is not sufficient on Sierra.的錯誤

 

按照提示執行

xcode-select –install

 

 

 

等待完成後執行

brew install ruby

安裝完查看ruby版本發現沒有更新,重啟終端即可

 

 

 ---END

 


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

-Advertisement-
Play Games
更多相關文章
  • 一、Inception簡介一款用於MySQL語句的審核的開源工具,不但具備自動化審核功能,同時還具備執行、生成對影響數據的回滾語句功能。 基本架構: 二、Inception安裝 1、軟體下載 下載鏈接:https://github.com/mysql-inception/inception文檔鏈接: ...
  • 摘要: EagleEye作為阿裡集團老牌的鏈路跟蹤系統,其自身業務雖不在交易鏈路上,但卻監控著全集團的鏈路狀態,特別是在中間件的遠程調用上,覆蓋了集團絕大部分的場景,在問題排查和定位上發揮著巨大的作用,保障了各個系統的穩定性,為整個技術團隊打贏這場戰役保駕護航。 背景 雙十一一直是阿裡巴巴集團每年要 ...
  • 概述 本章節介紹Insert、Update、Delete、Drop操作基本語法。 環境: Version:3.4 insert insert()基本語法如下: db.collection.insert( <document or array of documents>, { writeConcern ...
  • 環境:oracle 12.1.0.2 rac ,4節點 一、概述 通常來說,如果是oltp應用,那麼部署在rac上,是不錯的註意。 但實現情況中,往往是混合類型,既有OLTP也有OLAP。 如果沒有很好地進行資源管理和系統設計,那麼系統的性能往往不如人意。 造成系統慢的原因很多,其中一個就是orac ...
  • 在centos中安裝mysql詳細步驟說明 條件:需要兩個虛擬機,一臺為主伺服器master,一臺為從伺服器slave 1 在master主服務中,創建用於同步的用戶 mysql> grant all privileges on *.* to 'rpl'@'192.168.178.162' iden ...
  • 後端開發:1、高級java軟體架構師實戰培訓視頻教程2、大型SpringMVC,Mybatis,Redis,Solr,Nginx,SSM分散式電商項目視頻教程3、Spark Streaming實時流處理項目實戰4、Java校招面試 Google面試官親授5、Java開發企業級許可權管理系統6、Java ...
  • Where exists 2之前按照個人理解講了基本的select 用法。當然 exists 並不僅僅只能更在select之後。比如update 也可以使用 where exists 繼續之前的講解,我從網上看到說。Where exists 和 In 效率不一樣,就來做個試驗對比一下如何不同。首先創 ...
  • 最近新接觸Mysql,昨天新建一個表用於存儲表結構信息: 然後查詢tablist表: 看看有哪些列沒有comment於是: select * from tablist where COLUMN_COMMENT is null; 查到的結果居然是Empty set。不過從以上查詢結果和navicat都 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...