創(chuàng)建私有的Spec Repo
- 新建一個
私有索引庫
的妖,可以使用GitHub
- 添加遠(yuǎn)程索引庫時可以先檢查已有哪些倉庫
pod repo
- 如果索引庫已經(jīng)存在可以先移除渔彰,再添加
pod repo remove 私有索引庫名
pod repo add 私有索引庫名 索引庫的git地址
創(chuàng)建組件庫
- 新建一個
私有組件庫
莉掂,可以使用GitHub
- 使用以下命令創(chuàng)建工程模板
pod lib create libName
- 完善
.podspec
文件
- 在模板中的Classes文件夾下添加組件代碼(備注:空文件夾會被忽略)
- 執(zhí)行
pod install
命令,將組件代碼和測試工程進(jìn)行關(guān)聯(lián)
- 編譯沒問題后提交到遠(yuǎn)程倉庫
# 初始化git庫
# 通過上面的方式就不需要執(zhí)行此命令了
git init
# 將所有代碼文件添加到暫存區(qū)中
git add .
# 提交到本地倉庫中
git commit -m '注釋內(nèi)容'
# 查看狀態(tài)
git status
# 首先查看是否有遠(yuǎn)程倉庫
git remote
# 添加遠(yuǎn)程倉庫關(guān)聯(lián)
git remote add origin 遠(yuǎn)程倉庫地址
# 確認(rèn)遠(yuǎn)程倉庫是否添加成功
git remote
# 默認(rèn)為master分支
git push origin master
- 打標(biāo)簽, 并提交到遠(yuǎn)程倉庫诬烹,因為podspec文件中必須制定版本號
# 添加Tag
git tag [-a] '1.0.0' [-m '初始版本']
# 查看分支
git tag
# 提交分支到遠(yuǎn)程倉庫
git push --tags
# 刪除本地tag
git tag -d tag版本號
# 查看分支
git tag
# 刪除遠(yuǎn)程tag,刪除后才可以重新建立
git push origin :tag版本號
項目的哪些文件需要上傳到遠(yuǎn)程倉庫
-
pod install
和pod update
選擇
-
pod install
庫會按照Podfile.lock
文件(如果已經(jīng)存在弃鸦,不存在就會新建)中的版本號進(jìn)行指定版本庫的獲取绞吁,而pod update
不管Podfile.lock
文件是否存在,都更新最新版本的三方庫
- 建議在此命令后加上
--verbose --no-repo-update
- 一般情況下唬格,
第一次
從共享庫把項目下載下來之后家破,應(yīng)該使用pod install
命令安裝,而不是
選擇pod update
购岗,目的是為了保證大家使用的第三方框架版本一致
- 如果以后大家需要升級第三方框架汰聋,那么大家
約定好
,統(tǒng)一
再執(zhí)行一次pod update
-
建議
在編寫podfile文件時喊积,明確
指定第三方庫的版本烹困,格式如下:pod '第三方庫名稱', '~> 版本號'
,這樣不管使用pod install
還是pod update
效果都是一致的
上傳框架.podspec
描述文件
- 描述文件名和工程名稱
保持一致
- 填寫
.podspec
文件中的內(nèi)容乾吻,可以參考別的開源庫是如何填寫描述信息(比如AFNetworking)髓梅,也可以到官網(wǎng)中查看
- 首先
cd
到.podspec
文件所在的位置,使用下面的命令本地驗證
.podspec文件的有效性绎签,不會驗證tag
pod lib lint --verbose --allow-warnings
pod spec lint
# 指定podspec文件
pod '框架名稱', :podspec => 'path/specName.podspec'
pod install
- 提交podspec到遠(yuǎn)程私有repo中
# 向本地索引庫中添加描述文件枯饿,同時會將此描述文件自動提交到遠(yuǎn)程私有索引庫中
pod repo push 本地私有索引庫名稱 specName.podspec --verbose --allow-warnings
- 框架庫依賴設(shè)置:
s.dependency '依賴庫名稱
,在使用你的框架庫時會先安裝依賴庫
- 補(bǔ)充:單獨創(chuàng)建
.podspec
文件的命令如下辜御,通過pod lib create libName
命令創(chuàng)建的工程已經(jīng)自動創(chuàng)建了.podspec
文件鸭你,所以無需單獨創(chuàng)建(了解即可)
# specName后面【不加后綴】
pod spec create specName
如何更新框架庫
- 提交更新后的代碼
- 打好tag
- 更改
.podspec
文件中的版本號為最新的tag號,相關(guān)描述也做一定的修改
- 將
.podspec
文件更新到私有索引庫中
- 執(zhí)行
pod update [--verbose --no-repo-update]
使用組件庫
# 搜索自己的庫
pod search libName
# 這里可能搜索不到擒权,可以先刪除~/Library/Caches/CocoaPods下的search_index.json文件袱巨,
# 然后重新搜索就會生新文件,在新文件中就會包含你自己的庫了
sudo rm ~/Library/Caches/CocoaPods/search_index.json
# 使用自己的庫
# -------------------------Podfile-------------------------
# 最低支持的iOS版本
platform :ios, '8.0'
# 指定的repo鏡像源
source 'https://github.com/CocoaPods/Specs.git'
# 遠(yuǎn)程私有庫
source '遠(yuǎn)程私有索引庫的git地址'
# 依賴目標(biāo)一般為項目名稱
target '依賴目標(biāo)' do
pod 'myLibName', '~> 1.0.0' # 自己的私有庫
end
# -------------------------Podfile-------------------------
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者