CocoaPods管理第三方開源庫的基本使用

CocoaPod出來很久了。一個第三方庫管理的工具。CocoaPods的項目源碼在https://github.com/CocoaPods/Specs上管理。

2016年5月10號,CocoaPods終于在其官方博客上宣布正式發布CocoaPods 1.0。與此同時,公開了相應的Mac版App——CocoaPods App 1.0。雖然已經出來很多年了,可見CocoaPods團隊的匠人精神。

安裝CocoaPods 準備工作

查看ruby版本

ruby -v

查看ruby源

gem sources -l

// 更新升級gem 做技術的應該還是會翻墻的

sudo gem update —system

查看gem 版本

gem -v

安裝篇

OS X 10.11 以前安裝命令為:

// 安裝cocoapods

sudo gem install cocoapods

Mac系統為OS X EL Capitan安裝命令為:

sudo gem install -n /usr/local/bin cocoa pods

卸載CocoaPods

sudo gem uninstall cocoapods

常用操作

我們可以用CocoaPods Mac app來給自己的工程創建Podfile文件

將所有第三方的Podspec索引文件更新到本地的~/.cocoapods/repos目錄下

pod setup?

如果更新太慢可以用命令查詢大小確定是否在下載

cd ~/.cocoapods/repos 進入目錄

du -sh *

這個是我打印自己的目錄詳情 551M? ? master

以后可以每周更新一次

初始化Podfle文件 并且格式也有

pod init?

-----------------------------各種文件------------------------------

1. Podfile文件

項目的第三方庫的依賴以及項目的基本配置

2. Podfile.lock文件

最后一次更新Pods時, 保存所有第三方框架的版本號

3. pods目錄

保存通過pod install或者pod update下載下來的第三方開源庫的源代碼

4. xxx.xcworkspace文件

重新生成一個工作空間,打開這個工程文件來進行開發


-----------------------------Podfile文件結構------------------------------

source'http://192.168.1.1/qiqi/JSONModelConfigurationFile.git'

source'https://github.com/CocoaPods/Specs.git'

platform :ios,'8.0'

use_frameworks!

inhibit_all_warnings!

target'MyProjectName'do

pod'SDWebImage','3.7.5'

pod'FMDB','2.6'

end


-----------------------------Podfile參數解釋------------------------------

1. platform :iOS, '7.0'

指定了開源庫應該被編譯在哪個平臺以及平臺的最低版本

若不指定平臺版本,官方文檔里寫明各平臺默認值為iOS:4.3,OS X:10.6,tvOS:9.0,watchOS:2.0

2. inhibit_all_warnings!

屏蔽cocoapods庫里面的所有警告

這個特性也能在子target里面定義,如果你想屏蔽某pod里面的警告也是可以的:

pod'MyProject', :inhibit_warnings =>true

3. xcodeproj,現在被project代替,這個變量就別使用了

允許你指定需要鏈接的工程

4. use_frameworks!

使用frameworks動態庫替換靜態庫鏈接

(1)swift項目cocoapods 默認 use_frameworks!

(2)OC項目cocoapods 默認 #use_frameworks!

5. workspace

指定應該包含所有projects的Xcode workspace.

如果沒有顯示指定workspace并且在Podfile所在目錄只有一個project,那么project的名稱會被用作于workspace的名稱

6. project

默認情況下是沒有指定的,當沒有指定時,會使用Podfile目錄下與target同名的工程:(我們只有一個工程MyProject)

# MyProject這個Target只有在MyProject工程中才會鏈接

target 'MyProject' do

project 'MyProject'

...

end

5. target 'xxxx' do

end

指定特定Target的依賴庫

可以嵌套子Target的依賴庫

6. inherit! :search_paths

明確指定繼承于父層的所有pod,默認就是繼承的

7. source

指定specs的位置,自定義添加自己的podspec。公司內部使用

cocoapods 官方source是隱式的需要的,一旦你指定了其他source 你就需要也把官方的指定上

例如:

source'http://192.168.1.1/qiqi/JSONModelConfigurationFile.git'

source'https://github.com/CocoaPods/Specs.git


-----------------------------常用指令------------------------------

1. pod setup

將所有第三方的Podspec索引文件更新到本地的~/.cocoapods/repos目錄下,更新本地倉庫。

2. pod repo update

執行 pod repo update更新本地倉庫,本地倉庫完成后,即可搜索到指定的第三方庫,作用類似pod setup。不過這個命令經常不單獨調用。比如執行pod setup、pod search、pod install、pod update會默認執行pod repo update

3. pod search xxx

查找某一個開源庫。查找開源庫之前,默認會執行pod repo update指令

4. pod list

列出所有可用的第三方庫.現在已經2.4W+了.還在不斷地增長

5. pod install

會根據Podfile.lock文件中列舉的版本號來安裝第三方框架

如果一開始Podfile.lock文件不存在, 就會按照Podfile文件列舉的版本號來安裝第三方框架

安裝開源庫之前, 默認會執行pod repo update指令

6. pod update

將所有第三方框架更新到最新版本, 并且創建一個新的Podfile.lock文件

安裝開源庫之前, 默認會執行pod repo update指令

7. pod install --no-repo-update

8. pod update --no-repo-update

安裝開源庫之前, 不會執行pod repo update指令

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容