準備工作
1. 創(chuàng)建好一個GitHub倉庫作篇恒。
2.前面建好的GitHub倉庫添加為索引倉庫凶杖。
pod repo add [spec name] [GitHub倉庫地址]
# 假設名稱為PersonalSpec
pod repo add PersonalSpec https://github/username/PersonalSpec
題外話:GitHub登錄方式改了
原來的password改為personal access token
登錄GitHub界面之后,按路徑settings -> developer settings -> New personal access token
去創(chuàng)建personal access token
該token值只顯示一次腾么,需要復制后收藏好
正式開始
1.在GitHub上創(chuàng)建好代碼倉庫備用杈湾。
除了【準備工作】期間所建以外的倉庫,作為放我們代碼的庫饭寺。
盡量不要添加readme叫挟、ignore之類的限煞,保持倉庫是空空的。此時的遠端倉庫是沒有branch的署驻。
如果是空倉庫旺上,進行到第5步的時候直接可以用上面截圖紅圈部分指令即可完成推送。
溫馨提示:接下來文章中要分清這兩個倉庫窃这。還有記得把假設的名稱用自己的庫名替換征候。
2. 下載Cocopods發(fā)布庫的模板
pod lib create [自己庫名]
# 假設為CodeRepo
pod lib create CodeRepo
按照你所取的名稱下載模板祟敛。下載模板途中會彈出幾個選項兆解,根據(jù)自己需求選擇即可。
3.開發(fā)的類庫放到指定文件夾下埠巨、配置好podspec文件
此處假設我們需要發(fā)布第三方庫的代碼工程都開發(fā)完成了现拒。
接下來,要檢查好我們開發(fā)代碼文件和資源文件等是否在指定目錄下具练,默認情況在Classes文件夾下。
哪些文件需要作為第三方庫提交cocoapods可以在podspec文件內(nèi)設置
s.source_files = 'CodeRepo/Classes/**/*'
podspec文件配置:
podspec文件的內(nèi)容因人而異哥遮。網(wǎng)上很多能搜到陵究。
還可以去官網(wǎng)語法文檔查看。
兩次驗證之間進行g(shù)it倉庫的操作的說明
因為第一次驗證pod lib lint 是本地驗證仪召,如果本地驗證之前已經(jīng)提交私有庫代碼到遠端倉庫松蒜,如果驗證不通過又要重新修改再提交,故而個人建議先本地驗證通過進行g(shù)it倉庫操作召娜。
4. podspec本地驗證
pod lib lint
如果私有庫依賴Cocospods以外的spec要在后面添加--sources參數(shù)惊楼,值的寫法是多個地址url之間用逗號分開,cocoapods的spec地址也要寫上檀咙,格式如下:
pod lib lint --sources='私有索引庫地址,https://github.com/CocoaPods/Specs.git'
# 拿我們PersonalSpec舉例
pod lib lint --sources='https://github/username/PersonalSpec.git,https://github.com/CocoaPods/Specs.git'
驗證成功后:
CodeRepo passed validation.
5.推送到遠端倉庫和打tag
提交遠端倉庫
git remote add origin [私有倉庫地址] # CodeRepo舉例:git remote add origin CodeRepo
git add .
git commit -m "日志"
# git branch 可以查看本地分支名稱弧可,
# git branch -a 可以查看本地和遠端分支名稱
git push -u origin main # main還是master根據(jù)分支決定
打tag。tag值要與podspec文件內(nèi)version值一致
git tag
git tag '0.1.0'
git tag
git push origin 0.1.0 # 或推送全部tag: git push --tags
# 可能用到的指令
刪除本地tag:git tag -d 0.1.0
刪除遠端tag:git push origin :refs/tags/0.1.0
6.podspec遠端驗證
pod spec lint
如果私有庫依賴Cocospods以外的spec要在后面添加--sources參數(shù)殖演,值的寫法是多個地址url之間用逗號分開,cocoapods的spec地址也要寫上丸相,格式如下:
pod spec lint --sources='私有索引庫地址,https://github.com/CocoaPods/Specs.git'
驗證成功后:
CodeRepo.podspec passed validation.
7.podspec文件推送到私有倉庫
pod repo push [私有索引倉庫名] xxx.podspec
# PersonalSpec舉例
pod repo push PersonalSpec CodeRepo.podspec
# 可能用到的指令
pod repo list # 查看本地索引庫有哪些
網(wǎng)上有人說有私有庫的情況下podspec文件推送時候也需要加上--sources參數(shù)彼棍。但是我沒加也推送成功了。
加--sources的用法跟前面驗證的一樣弛作,格式如下:
pod repo push [私有索引倉庫名] xxx.podspec --sources='私有索引庫地址,https://github.com/CocoaPods/Specs.git'
# 按照慣例
pod repo push PersonalSpec CodeRepo.podspec --sources='https://github/username/PersonalSpec.git,https://github.com/CocoaPods/Specs.git'
到此所有發(fā)布流程就結(jié)束了华匾。希望大家發(fā)布私有庫過程都一把過!
最后蜘拉,有疑問提出、有錯誤幫忙指出谎脯、有可優(yōu)化的或更好的寫法麻煩告知持寄。拜拜!7下椤模庐!