Cocoapods包管理工具

2022-09-15 19:18:16 字數 1180 閱讀 5974

$sudo gem update --system

//檢視當前的源

$gem sources -l

$gem sources --remove

$gem sources -a

$sudo gem install cocoapods

//或者指定安裝路徑

//$sudo gem install -n /usr/local/bin cocoapods

$pod setup --verbose

//cd 到專案目錄下

$pod init

$vi podfile

//修改生成的podfile檔案,新增所需要的依賴庫

//例:pod 'alamofire', '~> 4.4.0'

//儲存

$pod install

在swift的專案中,使用動態鏈結庫

use_frameworks!
cocoapod或者簡寫為」pod」是一種慣常的叫法,用來表示使用cocoapods工具新增庫或者框架到你的應用程式中。

ios 8引入了動態框架,這就允許了**、和其他的東西(assets)可以被一起打包。在ios 8之前,cocoapods被作為靜態庫來建立,就是很」臃腫的」二進位制檔案。這意味著它包含了一些**說明設定(例如i386 for the simulator, armv7 for devices等),但是它們不允許包含任何資源,例如或資產。

另外乙個重要的區別是動態框架有命名空間類,而靜態庫沒有。所以,如果單個專案中不同的靜態庫里分別有乙個叫做mytestclasses的類,那麼xcode可能不能成功建立工程因為它會因重複的標識而導致連線失敗。然而,xcode很樂意在乙個工程裡的不同框架下分別有乙個名字相同的類。

為什麼這很重要?不像oc,標準的swift執行時庫(runtime libraries)沒有包含在ios中!這意味著你的框架必須包含了必要的swift執行時庫。因此,用swift語言寫的pods必須以動態框架形式建立。如果蘋果允許swift靜態庫,那麼使用同乙個標準執行時依賴的不同庫中將會產生重複符號。

幸運的是,cocoapods為你做了這些事。它甚至能做到一次性包含需要的依賴關係。你所要做的就是在使用swift cocoapods時記得在podfile中包含use_frameworks! ,那就沒問題了。

包管理工具

參考 yum和apt get的區別 rpm命令詳解及和yum之間的關係 centos中rpm和yum到底有什麼區別?dpkg和apt get區別 dpkg 常用指令操作快速參考 yum和apt get常用命令 linux分類 一般著名的linux系統基本分成兩大類 1 redhat系列 redhat...

Python 包管理工具

如圖,可以看到distribute是setuptools的取代,pip是easy install的取代。核心目的是發布,即打包 生成安裝檔案等。disutils setuptools distribute python自帶模組,用於打包 生成安裝檔案 安裝包,需借助setup.py指令碼。distu...

npm包管理工具

1.npm install g forever 把forever包安裝在全域性路徑下 npm install forever 2.npm root g 檢視全域性包安裝路徑 3.npmconfig set prefix d node 修改全域性包安裝路徑 4.npmlist 檢視當前目錄下所安裝的包...