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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...