【轉】小白級的CocoaPods安裝和使用教程

原文網址:http://www.jianshu.com/p/e2f65848dddc

百度有很多CocoaPods的安裝教程.第一次看的時候,確實有點摸不透的感覺.經過思考,一步一步來實踐,前后花了三十幾分鐘,才順利使用.=.=所以想了想,我還是寫一個小白級的教程吧.細到每一個細節都說明. 讓你不用10分鐘解決CocoaPods.

CocoaPods簡介

每種語言發展到一個階段,就會出現相應的依賴管理工具,例如Java語言的Maven,nodejs的npm。隨著iOS開發者的增多,業界也出現了為iOS程序提供依賴管理的工具,它的名字叫做:CocoaPods。

CocoaPods項目的源碼在Github上管理。該項目開始于2011年8月12日,經過多年發展,現在已經成為iOS開發事實上的依賴管理標準工具。開發iOS項目不可避免地要使用第三方開源庫,CocoaPods的出現使得我們可以節省設置和更新第三方開源庫的時間。

CocoaPods的官網:https://cocoapods.org/

將官方的ruby源替換成國內淘寶的源

ruby的軟件源rubygems.org因為使用的亞馬遜的云服務,所以被墻了,需要更新一下ruby的源.

gem sources --remove https://rubygems.org/ ? ? ?//去掉ruby軟件源

gem sources -a https://ruby.taobao.org/ ? ?//添加淘寶的源? (謝謝提醒修改。)

gem sources -l ? ? //查看ruby軟件源


安裝

安裝方式異常簡單, Mac下都自帶ruby,使用ruby的gem命令即可下載安裝:

sudo gem install cocoapods ? //由于sudo超級權限,所以會填用戶密碼

如果你的gem太老,可能也會有問題,可以嘗試用如下命令升級gem:

sudo gem update --system


開始下載,受網絡緣故,需要等待的時間有點久.

如果下載好了,會出現"20 gems installed"

查看下載進度

?


Cocoapods在將它的信息下載到~/.cocoapods目錄下,如果你等太久,可以試著cd到那個目錄,用du -sh *來查看下載進度。


查詢下載進度

pod setup

pod setup在執行時,會輸出Setting up CocoaPods master repo


安裝好后,會出現"Setup completed"

使用Podfile

你看到這里也許會問,CocoaPods為什么能下載AFNetworking呢,而不是下載其他類庫呢?這個問題的答案是,有個文件來控制CocoaPods該下載什么。這個文件就叫做“Podfile”(注意,一定得是這個文件名,而且沒有后綴)。你創建一個Podfile文件,然后在里面添加你需要下載的類庫,也就是告訴CocoaPods,“某某和某某和某某某,快到碗里來!”。每個項目只需要一個Podfile文件。

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

?vim Podfile

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

platform :ios, '7.0'

pod "AFNetworking", "~> 2.0"

這兩句文字的意思是,當前AFNetworking支持的iOS最高版本是iOS 7.0, 要下載的AFNetworking版本是2.0。

其實,

platform :ios?

pod 'AFNetworking'

這樣子就可以了.會自動最新的穩定版本.

vim環境下,保存退出命令是:?

:wq

有些人沒用過vim的.直接打:wq ->Enter ,沒反應.

實際是要這樣:ESC? -> :wq? -> enter 你會發現,光標已經移到最下面了.

使用

然后你將編輯好的Podfile文件放到你的項目根目錄中,執行如下命令即可:

cd "你的項目根目錄"

pod install

現在,你的所有第三方庫都已經下載完成并且設置好了編譯參數和依賴,你只需要記住如下2點即可:

使用CocoaPods生成的.xcworkspace 文件來打開工程,而不是以前的.xcodeproj 文件。

每次更改了Podfile文件,你需要重新執行一次pod update命令。


全文結束.有部分內容來源百度,我只是重新收集,然后再補充一些細節的地方.

若有什么問題或文中有誤的地方,請留言.



文/龐大不小(簡書作者)
原文鏈接:http://www.jianshu.com/p/e2f65848dddc
著作權歸作者所有,轉載請聯系作者獲得授權,并標注“簡書作者”。

轉載于:https://www.cnblogs.com/wi100sh/p/5738507.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254732.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254732.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254732.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

常見錯誤總結

少打頭文件 少打using namespace std; 命名沖突&#xff0c;全局變量與局部變量命名一致&#xff0c;導致使用的值不是期望值 邊讀邊寫&#xff0c;導致改后讀&#xff0c;覆蓋寫入的值 長整數移位溢出&#xff0c;1<<63是錯誤的&#xff0c;應該寫成1ll<<63 循環變…

x264_sps_init

x264_sps_init此函數為序列量化集的初始化。主要對結構體x264_sps_t中參數的初始化。 void x264_sps_init( x264_sps_t *sps, int i_id, x264_param_t *param ) { sps->i_id i_id;首先設置序列參數集的ID b_qpprime_y_zero_transform_bypass判斷碼率控制方法是否是恒定質量…

HALCON相機標定相機內參相機外參

目錄相機標定1.相機標定是什么2.怎么使用halcon進行相機內外參標定&#xff1f;&#xff08;1&#xff09;搭建硬件1.**相機連好電腦&#xff0c;用相機廠家軟件打開相機&#xff0c;檢查一下相機是否正常。**2.**接下來使用halcon連接相機**&#xff08;2&#xff09;開始標定…

ionic更改端口號

ionic serve -p 8888 —— 重新指定端口號為8888 serve [options] ............................... 啟動本地服務器進行開發測試 dev/testing   [--consolelogs|-c] ..................... 輸入app的控制臺到ionic的控制臺顯示   [--serverlogs|-s] .....................…

angular change the url , prevent reloading

http://stackoverflow.com/questions/14974271/can-you-change-a-path-without-reloading-the-controller-in-angularjs $location.search({vln: $scope.vln_id}, false);會改變url中 &#xff1f; 后面的 搜索參數&#xff0c;但是controller不會重新實例化。angular 官方文檔…

Ubuntu apt-get 更新/查看軟件

ubuntu 升級軟件&#xff1a; sudo apt-get update 更新源  sudo apt-get upgrade 更新已安裝的包  sudo apt-get dist-upgrade 升級系統 ubuntu升級特定軟件&#xff1a; 可以用 sudo apt-get install pkgname 看軟件安裝位置:dpkg -L xxxx 查看軟件是否安裝&#xff1…

X264設定

--aq-mode <integer> AQ method [1]- 0: Disabled- 1: Variance AQ (complexity mask)說明&#xff1a;自適應量化方法&#xff0c;可以改善某些場景過于模糊等問題&#xff0c;默認開啟- 0: 關閉- 1: 可變AQ推薦值&#xff1a;默認范例&#xff1a;--aq-mode 1--aq-stre…

C#圓形卡尺測量程序基于halcon

廢話不多說上源碼 覺得帖子有用給點個贊哈 先來個效果圖 下邊的是源碼&#xff0c;自己新建一個文件粘貼進去&#xff0c;包含到您現在的項目 中。這串源碼后邊是使用方法。 using System; using System.Collections.Generic; using System.Linq; using System.Text; usin…

MySQL松散索引掃描與緊湊索引掃描

什么是松散索引&#xff1f; 答&#xff1a;實際上就是當MySQL 完全利用索引掃描來實現GROUP BY 的時候&#xff0c;并不需要掃描所有滿足條件的索引鍵即可完成操作得出結果。 要利用到松散索引掃描實現GROUP BY&#xff0c;需要至少滿足以下幾個條件&#xff1a;◆ GROUP BY 條…

算法馬拉松24

算法馬拉松24 A 小C的多邊形 題意&#xff1a;n1個點的多邊形。給外圈的邊標記上1~n&#xff0c;里圈的邊也標記上1~n&#xff0c;使得對于一個外圈相鄰點與中間點構成的三角形的邊權之和都相等。\(n \le 10^6\) 題解&#xff1a;顯然每個三角形權值和為\(\frac{3(n1)}{2}\) 一…

HUD2795 線段樹(單點更新)

題目中給出的h和w范圍均大&#xff0c;其實n的最大范圍才200000&#xff0c;所以我們建立的線段樹大小為min(h,n),線段樹的每一個節點包含一個變量c&#xff0c;記錄當前區間內還剩下的可以put on的最大長度。插入一個數時&#xff0c;如果該數大于該區間最大值&#xff0c;則返…

科維PLC運行時系統ProConOS embedded CLR 2.2 特定應用

ProConOS embedded CLR是新型的開放式標準化PLC運行時系統&#xff0c;符合IEC 61131標準&#xff0c;可執行不同的自動化任務&#xff08;PLC、PAC、運動控制、CNC、機器人和傳感器&#xff09;。   通過采用國際標準的微軟中間語言&#xff08;依據IEC/ISO 23271標準為MSIL…

linux下vi命令大全

進入vi的命令 vi filename :打開或新建文件&#xff0c;并將光標置于第一行首 vi n filename &#xff1a;打開文件&#xff0c;并將光標置于第n行首 vi filename &#xff1a;打開文件&#xff0c;并將光標置于最后一行首 vi /pattern filename&#xff1a;打開文件&…

set()與get()詳細解答(C#)

這幾天在搬磚時候用到了set()與get()&#xff0c;同事問了我一些問題&#xff0c;我打算在博客中總結一下。 覺得幫助到了您&#xff0c;幫我點個贊哦。 屬性訪問器 其實說白了就是操作一個屬性&#xff0c;更通俗一點說就是對一個變量的取值與賦值。 先來看get() get 訪問…

IM應用中如何計算富文本的高度

背景 在開發IM的項目過程中&#xff0c;經常會有出現一些需要計算DOM高度&#xff0c;然后超出若干行隱藏等需求。很多時候&#xff0c;需要計算高度的DOM元素都是動態生成的&#xff0c;我們無法在數據渲染前獲取到它的高度。 如果沒有任何交互&#xff0c;我們可以通過CSS來實…

G代碼 機器人的CNC實現

&#xfeff;  控制銑削工作臺和工件的NC程序&#xff0c;通過CAD軟件創建&#xff0c;這些NC程序與特定的機器類型相關。 NC程序在笛卡爾坐標系中動作的描述&#xff0c;對于需要確保一個明確的變換軸位置的關節型的機器人來說&#xff0c;缺少附加的狀態和旋轉信息。傳…

IScroll5中文API整理,用法與參考

IScroll是移動頁面上被使用的一款仿系統滾動插件。IScroll5相對于之前的IScroll4改進了許多&#xff0c;使得大家可以更方便的定制所需的功能了。 做項目的時候正好用到了這個插件&#xff0c;自己做了一下總結&#xff0c;發在這里方便大家學習IScroll5。 官網&#xff1a;htt…

Linux?安裝USB攝像頭

sudo apt-get updatesudo apt-get install fswebcamsudo apt-get install mplayersudo apt-get install alsamixer安裝完畢ls /dev查找設備是否有video0這個設備sudo mplayer tv:// 可以看到攝像內容轉載于:https://www.cnblogs.com/smartkeke/p/6820426.html

struct x264_t 維護著CODEC的諸多重要信息

//x264_t結構體維護著CODEC的諸多重要信息struct x264_t{/* encoder parameters ( 編碼器參數 )*/x264_param_t param;x264_t *thread[X264_SLICE_MAX];/* bitstream output ( 字節流輸出 ) */struct{int i_nal;x264_nal_t nal[X264_NAL_MAX];int i_bitstr…