CocoaPods 公用Pod庫的創建
1. CocoaPods賬戶創建
註冊trunk
pod trunk register 郵箱 '用戶名' --verbose
注意:QQ郵箱可能收不到郵件,換了兩個QQ郵箱,最終用了163郵箱。
去郵箱中打開郵件,點擊鏈接,即註冊成功
pod trunk me
// 查看註冊信息,也可以查看自己發佈的Pods
2. 創建庫文件並上傳到GitHub
2.1 創建私有模板庫
在GitHub
創建工程,這裏以DDBaseModule
爲例,創建一個基礎庫,添加一些常用的宏和分類。
2.2 創建模板庫
在你想要放的位置創建一個和組件同名的文件夾,比如DDBaseModule
,然後使用下面命令:
cd DDBaseModule的路徑
pod lib create DDBaseModule
然後根據情況,配置信息:
2.3 添加組件內容
創建完成後會自動打開Example
項目,然後將庫文件的相關代碼文件拖到Class
中替換ReplaceMe.m
文件。
2.4 安裝與測試本地庫
在Podfile
文件中:
pod 'DDBaseModule', :path => '../'
模板庫已經在Podfile
中指定了DDBaseModule.podspec
的位置,使組件DDBaseModule
可以正常安裝使用和測試。
然後,cd
到Example
路徑下,執行下面命令:
pod install
此時,我們已經將本地的組件添加到Example
中了,接下來可以進行單元測試,確保組件的正常使用。
2.5 修改Specs並驗證
- 修改
Specs
文件
在測試確保組件的正常後,需要修改Specs
文件,
主要修改內容
s.name = 'DDBaseModule'
s.version = '0.1.0'
s.summary = 'DDBaseModule.'
s.description = <<-DESC
DDBaseModule是基礎組件庫,包括分類和常用工具
DESC
s.homepage = 'https://github.com/DongliangZhao/DDBaseModule'
s.source = { :git => 'https://github.com/DongliangZhao/DDBaseModule.git', :tag => s.version.to_s }
s.source_files = 'LGMacroAndCategoryModule/Classes/**/*'
- 驗證podspec的正確性:
本地驗證,添加--allow-warnings
忽略警告。
pod lib lint xxxx.podspec --allow-warnings
如果依賴了自己的庫需要使用source的方式驗證
遠程驗證
pod spec lint --sources='私有倉庫repo地址,https://github.com/CocoaPods/Specs'
如果看到
xxxx passed validation.
就表示成功了
2.5 上傳並打tag
- 上傳
git add .
git commit -m '提交描述'
git remote add origin https://github.com/DongliangZhao/DDBaseModule.git
// 第一次push如果報錯的話可以加上-f
// git push -f origin master
git push origin master
- 打
tag
標籤0.1.0
與spec
中的s.version
保持一致
git tag '0.1.0'
git push --tags
打tag
, 發佈一個release
版本,成功之後即可在releases
裏面看到這個tag
的版本
2.6 發佈庫的描述文件podspec給cocoapods
pod trunk push xxxx.podspec --allow-warnings
看到
這說明已經過了,接着就是等。
這裏補充一下,創建私有庫時,這裏並不是使用trunk
的方式提交,而是將podspec
添加到私有索引庫Sepc repo中,命名如下:
pod repo push PodSpec名稱 Demo.podspec
3. 驗證與維護
-
驗證
搜索
pod search DDBaseModule
如果搜索不到,則執行下面命令:
rm ~/Library/Caches/CocoaPods/search_index.json
刪除後,再search
,出現下面的
Creating search index for spec repo 'master'..
稍等就會搜索到。
使用
pod 'DDBaseModule'
-
維護
如有錯誤或版本迭代,修改工程文件後推送到遠端倉庫後:
- 需要修改
podspec
中的版本號 - 重新打
tag
上傳 - 再進行新一輪的驗證和發佈
我們還可以創建一個演示
demo
工程來展示查看,並不會影響我們的pod
庫。 - 需要修改