CocoaPods安裝和使用教程

CocoaPods是什么?

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

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

CocoaPods是一個負責管理iOS項目中第三方開源庫的工具。CocoaPods的項目源碼在Github上管理。該項目開始于2011年8月12日,在這兩年多的時間里,它持續保持活躍更新。開發iOS項目不可避免地要使用第三方開源庫,CocoaPods的出現使得我們可以節省設置和更新第三方開源庫的時間。

在我們有了CocoaPods這個工具之后,只需要將用到的第三方開源庫放到一個名為Podfile的文件中,然后在命令行執行$ pod install命令。CocoaPods就會自動將這些第三方開源庫的源碼下載下來,并且為我的工程設置好相應的系統依賴和編譯參數。

CocoaPods安裝

安裝的方式非常簡單,Mac下已經自帶了ruby,只要使用ruby的gem命令就可以安裝了。打開的Mac的終端,在終端運行下面的命令:

$sudo gem install cocoapods

好了以后繼續執行:
$pod setup
 

這一步執行需要耐心等待,在終端中敲入這個命令之后,如果發現長時間沒有任何反應,是因為那堵墻阻擋了cocoapods.org。大家自行FQ!

安裝完成以后我們需要看下第三方庫是否能使用,輸入命令查看:

$pod search AFNetworking

過幾秒鐘之后,你會在終端中看到關于AFNetworking類庫的一些信息。

接下來進入到你的項目,創建一個Podfile文件:

$vim vim Podfile

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

platform :ios, '9.0'    #這是運行的ios平臺版本
pod 'AFNetworking', '~> 2.3.1'  #這是將要安裝的第三方的名稱及版本

最后執行:

$ pod install

OK,你的項目里就完成安裝AFNetworking,運行成功后出現:

EricmatoMacBook-Pro:CocoaPodsDemo ericwang$ pod installAnalyzing dependenciesDownloading dependenciesInstalling AFNetworking (2.3.1)Generating Pods projectIntegrating client project[!] From now on use `CocoaPodsDemo.xcworkspace`.

哈哈,看到類似這樣的輸出就是成功了。你所需要的第三方開源庫都下載好了,并且設置好了相應的依賴以及編譯參數。在我們以后用的時候一定要記住以下兩點:

1. 最后一行是一個警告,提醒我們需要注意:從現在開始,需要通過xxx.xcworkspace打開的我們的項目。而不是之前我們一直用的xxx.xcodeproj。你也許會郁悶,為什么會出現.xcodeproj文件呢。這正是你剛剛運行$ pod install命令產生的新文件。除了這個文件,你會發現還多了另外一個文件“Podfile.lock”和一個文件夾“Pods”。

2. 當我們每次修改了Podfile這個文件后,一定要記得執行命令:$ pod install,還可以執行$ pod update來更新類庫。

?



轉載于:https://www.cnblogs.com/evai/p/5813752.html

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

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

相關文章

事務管理基礎:兩段鎖協議、活鎖、死鎖相關知識整理

1、兩段鎖協議(Two-phase Locking Protocol) 兩段鎖協議是指對任何數據進行讀寫之前必須對數據進行加鎖;在釋放一個封鎖之后,事務不再申請和獲得任何其他封鎖。兩段鎖協議中兩段的含義:事務分為兩個階段,第…

php 空函數,PHP 中函數 isset(), empty(), is_null() 的區別

PHP 中函數 isset(), empty(), is_null() 的區別,使用 PHP 進行開發的時候,經常會用到 isset(), empty(), is_null() 這幾個函數對數據進行判斷,但是這是哪個函數的具體區別其實沒有很好的掌握。下面我們詳細講解一下:NULL什么是 NULL&#x…

UVa11021

11021 TribblesGRAVITATION, n.“The tendency of all bodies to approach one another with a strengthproportion to the quantity of matter they contain – the quantity ofmatter they contain being ascertained by the strength of their tendencyto approach one anot…

python合法變量類型_Python 變量類型

變量存儲在內存中的值。這就意味著在創建變量時會在內存中開辟一個空間。基于變量的數據類型,解釋器會分配指定內存,并決定什么數據可以被存儲在內存中。因此,變量可以指定不同的數據類型,這些變量可以存儲整數,小數或…

數據庫系統故障相關知識筆記

數據庫系統中可能發生的故障主要包括事務故障、系統故障、介質故障、計算機病毒等。下面給大家簡單整理一下相關的故障知識筆記。1、事務故障事務故障是因為程序執行錯誤而引起的非預期、異常終止的故障。主要有邏輯錯誤、系統錯誤導致事務的執行失敗。邏輯錯誤:比如…

dede php分頁代碼,DEDECMS系統分頁標簽自定義二次開發

以前有給大家寫過一篇自定義dedecms留言板的分頁,下面我再來給大家分享一篇自定義常見的分頁標簽例子,希望文章對大家會有所幫助.自定搜索結果頁面文章分頁,在/plus文件夾中新建一個search.php文件,代碼如下:require_once(dirname(__FILE__)."/../include/common.inc.php&…

windows下gvim中文亂碼解決方案

網羅了一些網上的解決windows下gvim中文亂碼的解決方案,都試了一遍,可惜都不能完全解決我的所有問題,最后我綜合一下網上的兩種方案,得到了最后完全解決我的中文亂碼問題的方案,配置很簡單,就是把下面的配置…

python主從_python—mariadb自動部署主從

import configparserimport osdef config_mariadb_yum():exists os.path.exists(/etc/yum.repos.d/mariadb.repo)if exists:print(mariadb.repo文件已經存在)yum_install_mariadb()else:config configparser.ConfigParser()config.read(/etc/yum.repos.d/mariadb.repo, encod…

數據庫系備份相關知識筆記

1、數據庫備份的知識介紹在互聯網時代,最珍貴的財產不是計算機應用軟件,更不是計算機硬件,而是企業在業務長期發展過程中積累下來的業務數據。建立網絡最根本的用途是更加方便的傳遞、使用數據,人為原因、硬盤損壞、計算機病毒、斷…

python數組合并、輸入三行數據,如何在python中合并兩個或三個3D數組?

Numpy的hstack、vstack或dstack(取決于要連接數組的軸)將連接多維數組。在請注意,對于MODIS氣溶膠數據,使用hstack連接陣列有時會拋出錯誤,因為有時陣列是203 x 135,有時是204 x 135,因此水平維度并不總是匹配的基于您…

操作系統:分享6 個“嚇人”的 Linux 命令

目錄 1、crypt 2、kill 3、shred 5、at midnight 6、daemons 1、crypt 好吧,我們一直都有crypt。顧名思義,crypt不是存放垃圾文件的地宮或墓坑,而是加密文件內容的命令。 如今,“crypt”通常作為一個腳本而實現:通過調…

谷歌網絡代理工具_谷歌更新了Dialogflow AI引擎,幫助客戶創建更好的虛擬代理...

日前,谷歌發布了對其Dialogflow的一些重要更新,對話流是其呼叫中心人工智能服務的主要技術,它可以自動與呼叫中心的客戶進行交互。據悉,Dialogflow是一個會話人工智能引擎,用于創建虛擬代理,可以理解和響應…

php use閉包參數,php 閉包use的使用

閉包可以從父作用域中繼承變量。 任何此類變量都應該用 use 語言結構傳遞進去。PHP的閉包即為匿名函數。示例如下。$message hello;// 繼承 $message$example function () use ($message) {var_dump($message);};echo $example(); //hello// Inherited variables value is fr…

數據庫恢復相關知識筆記

1、數據庫恢復的原理數據庫恢復的原理主要是在數據庫發生故障之后,建立冗余數據,在故障發生之后利用冗余數據來完成數據庫恢復。數據轉儲和建立日志文件是建立冗余數據常用的技術手段。一般情況下兩種技術手段會同時使用。2、故障恢復的兩個操作故障恢復…

C++ map注意事項

C map注意事項 1、在map中,由key查找value時,首先要判斷map中是否包含key。 2、如果不檢查,直接返回map[key],可能會出現意想不到的行為。如果map包含key,沒有問題,如果map不包含key,使用下標有…

oracle數據庫any,Oracle權限集合全集

alter any cluster 修改任意簇的權限alter any index 修改任意索引的權限alter any role 修改任意角色的權限alter any sequence 修改任意序列的權限alter any snapshot 修改任意快照的權限alter any table 修改任意表的權限alter any trigger 修改任意觸發器的權限alter clust…

equals方法中變量在前和在后的區別

如果是兩個都是變量,那就放哪都行沒啥區別 如果有一個是常量一個變量的情況下,因為equals()方法是在Object類里定義的,也就是說任何對象都可以調用equals()方法,但是對象在調用方法的時候,如果對象為null那系統運行就…

空間句法軟件_【特訓營報名】空間句法理論與實踐應用(第二期更新版)丨城市數據派...

最新線上特訓營 授課老師專業過硬負責空間句法官方中文網站建設作為主要譯者翻譯空間句法奠基作《空間的社會邏輯》此課程為空間句法初級課程的第二期更新版課程內容更豐富更完善教學視頻永久觀看報名時間及價格 課程原價1000元,提前報名享優惠!4月13-19…

數據庫安全性相關知識筆記?

1、數據庫的惡意訪問形式未經授權讀取數據、未經授權修改數據、未經授權破壞數據。2、數據庫安全性概念數據庫安全性(Data Base Security)主要是指盡可能保護數據庫不受惡意訪問。3、數據庫安全防護的層次數據庫系統層次(DataBase System&…