CocoaPods的安裝、使用、以及遇到的問題

来源:http://www.cnblogs.com/Mr-Lin/archive/2016/12/19/6198616.html
-Advertisement-
Play Games

CocoaPods是什麼? 當你開發iOS應用時,會經常使用到很多第三方開源類庫,比如JSONKit,AFNetWorking等等。可能某個類庫又用到其他類庫,所以要使用它,必須得另外下載其他類庫,而其他類庫又用到其他類庫,“子子孫孫無窮盡也”,這也許是比較特殊的情況。總之小編的意思就是,手動一個個 ...


CocoaPods是什麼?

當你開發iOS應用時,會經常使用到很多第三方開源類庫,比如JSONKit,AFNetWorking等等。可能某個類庫又用到其他類庫,所以要使用它,必須得另外下載其他類庫,而其他類庫又用到其他類庫,“子子孫孫無窮盡也”,這也許是比較特殊的情況。總之小編的意思就是,手動一個個去下載所需類庫十分麻煩。另外一種常見情況是,你項目中用到的類庫有更新,你必須得重新下載新版本,重新加入到項目中,十分麻煩。如果能有什麼工具能解決這些惱人的問題,那將“善莫大焉”。所以,你需要 CocoaPods。

CocoaPods應該是iOS最常用最有名的類庫管理工具了,上述兩個煩人的問題,通過cocoaPods,只需要一行命令就可以完全解決,當然前提是你必須正確設置它。重要的是,絕大部分有名的開源類庫,都支持CocoaPods。所以,作為iOS程式員的我們,掌握CocoaPods的使用是必不可少的基本技能了。

如何下載和安裝CocoaPods?

註:要使用CocoaPods,那就要下載安裝它,而下載安裝CocoaPods需要Ruby環境

1.Ruby環境的安裝

1.1.Ruby版本過低,使用RVM(Ruby Version Manage即Ruby版本管理)升級Ruby

//1.安裝RVM
curl -L get.rvm.io | bash -s stable
//2.等待一段時間後就可以成功安裝後RVM
source ~/.bashrc
//3.測試是否安裝正常
rvm -v

1.2.用RVM升級Ruby

//列出已知的ruby版本號
rvm list known
//安裝ruby 最新版本
rvm install 最新版本號

1.3.查看ruby版本

ruby -v

2.cocoaPods的安裝

2.1.切換cocoaPods的數據源

//先刪除舊的數據源
gem source --remove https://rubygems.org/
//添加新的數據源
gem source -a https://ruby.taobao.org/
//查看數據源
gem source -l

2.2.安裝cocoaPods

//安裝cocoaPods
sudo gem install cocoapods
//配置倉庫
pod setup
//下載結束,可查看版本號
pod --version

CocoaPod的使用

2.1.1.開源庫的搜索

pod search AFNetworking

2.1.2.添加第三方庫,

  • 終端命令

a.新建一個項目

b.終端中,cd到項目的總目錄 

c.建立Podfile(配置文件) vim Podfile 

d.鍵盤輸入 i,進入編輯模式

e.編輯結束,按Esc,並且輸入“ :”號進入vim命令模式,然後在冒號後邊輸入wq進行保存

f.輸入 pod install,開始安裝第三方

  • 關於Podfile文件編輯

a.正常情況的編寫

platform:ios,'8.0'
target:'工程的名字' do
pod '第三方庫的名字','版本號'
end

b.如果不同的Target需要不同的依賴庫,則可以  

platform :ios  
target :'FirstTarget' do  
pod 'Reachability'  
pod 'SBJson'     
pod 'AFNetworking'   
end    
    
target :'SecondTarget' do  
pod 'OpenUDID'   
end

c.第三方庫版本號的各種寫法:

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

CocoaPod安裝以及使用過程中出現的問題

a.沒有指定工程中的Target

b.Podfile編寫規範有誤

c.安裝了多個Xcode導致路徑發生改變

.

解決辦法

sudo xcode-select -switch /Applications/Xcode.app
註: /Applications/Xcode.app:此部分未Xcode所在路徑,找到Xcode的安裝路徑,拖進來即可

d.當庫正常導入後,但還是找不到相關頭文件,制約了我們的開發效率,則可以:

在TARGETS -> Search Paths -> User Header Search Paths 中 寫入 ${SRCROOT}再將後面參數改為recursive:

e.該開始安裝後,會有以下情況,這一步一般都需要等待點時間,在安裝過程,要是想查看下載進度,通過以下命令可以查看

//進入CocoaPods目錄
cd ~/.cocoapods
//查看文件大小,每隔幾分鐘查看一次
du -sh *

 

以上問題為本人目前遇到的 ,還請大家幫忙補充 

 

  


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

-Advertisement-
Play Games
更多相關文章
  • 這裡主要介紹一下檢查迴圈定義的結構體、聯合體。是對成員中包含自己本身的結構體、聯合體進行檢查。所謂“成員中包含自己本身”,舉例來說,就是指下麵這樣的定義。 這裡所說的“成員中包含自己本身”是指直接包含自己本身,通過指針來應用自己本身是沒有問題的。例如剛纔的例子,如果是下麵這樣的話就沒有問題了。 剛纔 ...
  • 由OpenDigg 出品的安卓開源項目周報第二期來啦。我們的安卓開源周報集合了OpenDigg一周來新收錄的優質的安卓開發方面的開源項目,方便安卓開發人員便捷的找到自己需要的項目工具等。 ...
  • 今天拉同事最新的代碼,編譯時老是報如下錯誤: Error:Could not find com.android.tools.build:gradle:2.2.0.Searched in the following locations: file:/D:/software/android-studio ...
  • 轉載請標明出處:http://www.cnblogs.com/zhaoyanjun/p/6202369.html 本文出自 "【趙彥軍的博客】" 在Android Studio項目裡面有個local.properties文件,這個文件可以放一些系統配置。比如:sdk路徑、ndk路徑。 當然我們也可以 ...
  • 最近為了滿足蘋果的 https 要求, 經過努力終於寫出了方法 驗證 SSL 證書是否滿足 ATS 要求 nscurl --ats-diagnostics --verbose https://你的功能變數名稱 PASS 符合要求 輸出滿足 ATS 的證書 openssl s_client -connect ...
  • 首先想強調一下“語音識別”四個字字面意義上的需求:用戶說話然後馬上把用戶說的話轉成文字顯示!,這才是開發者真正需要的功能。 做需求之前其實是先谷歌百度一下看有沒有造好的輪子直接用,結果真的很呵呵,都是標著這個庫深入學習的標題,裡面調用一下api從URL里取出一個本地語音文件進行識別,這就沒了? 最基 ...
  • 一、SharedPreferences保存數據介紹 如果有想要保存的相對較小鍵值集合,應使用SharedPreferences API。SharedPreferences對象指向包含鍵值對的文件並提供讀寫這些文件的簡單方法。每個SharedPreferences文件由框架進行管理並且可以專用或共用。 ...
  • 微信小程式提交審核需要選擇資質服務範圍,如果服務範圍不對,審核會不通過, 開發小程式之前,最好先查詢所開發小程式的資質範圍,否則無法通過微信審核。 小程式的資質範圍查詢地址,數據同步微信官方 https://weixin.hotapp.cn/weixinmob ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...