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可以正常安裝使用和測試。

然後,cdExample路徑下,執行下面命令:

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.0spec中的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庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章