一、前言
- 第三方代碼管理
- 在多個項目間管理公共代碼
- 組件化
二释涛、項目使用CocoaPods
初始化
$ pod init
第一行:指明項目支持的iOS版本
platform :ios, '8.0'
CocoaPods
現(xiàn)在是通過target
來組織的,如果項目有多個target
尼桶,可以寫多個target
為每個target
引入不同的第三方庫李命。
寫法:
target '78S_iOS' do
# pod 'xxx'
end
集成到現(xiàn)有的workspace,沒試過。
workspace 'MyWorkspace'
什么時候用pod install
什么時候用pod update
-
pod install
用來為項目安裝新的pod,不管你以前有沒有運行過pod install
, 當在Podfile
中添加或刪除了pod時谬哀,都應(yīng)該用pod install
,(可以理解為你更新的你的Podfile文件 ,就用'pod install')严肪。 - `pod update [PODNAME] 只有當你要更新已經(jīng)存在的庫到一個最新的版本時才使用史煎。
關(guān)于pod install
- 運行這個命令谦屑,會下載
Podfile
中添加的新pod,并且打下載的pod
的版本信息等寫到Podfile.lock
文件中篇梭。 - 運行這個命令氢橙,只會檢查
Podfile.lock
文件中不存在的pod
,如果Podfile.lock
文件中已經(jīng)存在的pod
恬偷,只會下載Podfile.lock
文件中保存的版本悍手,就算這個時候這個庫有一個新的版本,也不會去更新袍患。對于Podfile.lock
文件中不存在的pod
坦康,會下載Podfile
文件中聲明的版本。
關(guān)于pod outdated
- 運行這個命令诡延,
CocoaPods
會列出Podfile.lock
文件中保存的版本過舊的庫(就是會列出有新版本的庫)
關(guān)于pod update [PODNAME]
- 這個命令會更新指定
pod
的版本到最新版本涝焙,如果不指定pod
,則會更新所有的庫到最新版本孕暇。所以為了讓一個team里所有人的庫都保持在一個相同的版本仑撞,版本控制要上傳Podfile.lock
文件。盡量不要用pod update
-
pod update
這個命令會帶上pod repo update
,repo
更新會很慢妖滔,可以添加參數(shù)--no-repo-update
來跳過repo update
.
三隧哮、CocoaPods
庫的創(chuàng)建
從無到有創(chuàng)建一個庫(ScalableImageView)
pod lib create ScalableImageView
還可以通過--template-url=你的url
來指定模版睬澡〉妹樱可以clone官方模版 模版做一些定制修改揩局。
官方模版會有幾個選項:
- 用什么語言
Objective-C
orSwift
- 是否創(chuàng)建一個
Demo
項目 - 是否要一個測試框架
-
UI
測試框架 -
Objective-C
的前綴
目錄結(jié)構(gòu):
podspec
文件
提交pod
到trunk
倉庫
- 檢查pod,有兩個命令
-
pod lib lint
這個命令是在本地檢查珍特,不用連接網(wǎng)絡(luò) -
pod spec lint
要聯(lián)網(wǎng)炸庞,會檢查是遠端
-
- 如果檢查沒有錯誤二蓝,要提交到
trunk
- 代碼推送到git倉庫咪惠,打上對應(yīng)的
tag
- 首先要得到一個授權(quán)
pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'
這條命令會發(fā)一個郵件到你提供的郵箱中来屠,點擊驗證后才能進行下面的操作承二。 - 驗證后榆鼠,可以通過
pod trunk me
來查看你的授權(quán)信息 - 通過
pod trunk push
將當前pod提交到trunk
- 代碼推送到git倉庫咪惠,打上對應(yīng)的
四、現(xiàn)有代碼添加CocoaPods
支持
- 只要處理好
podspec
文件即可 - 通過命令
pod spec create xxx
來創(chuàng)建podspec
文件亥鸠,更改文件對應(yīng)的設(shè)置就可以
五妆够、私有?Spec Repo倉庫創(chuàng)建
- 首先在
github
或者自己的git
服務(wù)器上創(chuàng)建一個repo
來存放Spec Repo
- 將創(chuàng)建好的私有
repo
添加到CocoaPods
中
pod repo add REPO_NAME SOURCE_URL(倉庫地址) (repo名最好跟倉庫名保持一致)
驗證是否安裝成功
cd ~/.cocoapods/repos/REPO_NAME
pod repo lint .
六、提交庫到私有倉庫
pod repo push REPO_NAME SPEC_NAME.podspec
七负蚊、在項目中使用私有倉庫的pod
在Podfile文件中添加源
source 'https://github.com/xx/xx.git' // 自己的源
source 'https://github.com/CocoaPods/Specs.git' // 官方源