制作并發(fā)布 CocoaPods 庫

原文發(fā)布于我的博客:http://blog.zyliu.com/create-and-publish-cocoapods-spec/

隨著對(duì) CocoaPods 越來越多的依賴,我們也可以嘗試把自己的庫發(fā)布到它上面。本文簡要介紹了如何制作并發(fā)布自己的 CocoaPods spec。

托管代碼

將工程文件提交到代碼托管平臺(tái)如 GitHub,同時(shí)打好 tag,比如第一版是 1.0.0,則在 master 分支打一個(gè)名為 1.0.0 的 tag。

一般這里該怎么辦都很清楚,我就不贅述了。

制作并驗(yàn)證 podspec

首先在自己的工程下使用初始化一個(gè)新的 spec,其中 [NAME] 即為庫的名稱。

$ pod spec create [NAME]

之后在該目錄下會(huì)生成一個(gè) [NAME.podspec] 文件,該文件是 Ruby 編寫的,打開并編輯這個(gè)文件,把需要填寫的基本內(nèi)容填好如下

Pod::Spec.new do |s|

  s.name         = "SHPAlertView"
  s.version      = "1.0.0"
  s.summary      = "A UIAlertView with block support."
  s.homepage     = "https://github.com/tzuyangliu/SHPAlertView"
  s.license      = "MIT"
  s.author       = { "劉子洋" => "me@zyliu.com" }
  s.platform     = :ios, "7.0"
  s.source       = { :git => "https://github.com/tzuyangliu/SHPAlertView.git", :tag => "1.0.0" }
  s.source_files = "SHPAlertView", "SHPAlertView/*.{h,m}"
  s.frameworks   = "Foundation", "UIKit"

end

其中 s.source 中的 tag 即提交代碼的時(shí)候打的 tag。

在這里我省略掉了很多注釋和不常用的屬性,如果需要詳細(xì)文檔請(qǐng)移步 Specs and the Specs Repo。

保存后進(jìn)行驗(yàn)證,這一步是無法跳過的,也是為了保證上傳的 spec 可用:

$ pod spec lint [NAME]

如果有錯(cuò)誤會(huì)有提示,像這樣就算成功了

$ pod spec lint SHPAlertView.podspec

 -> SHPAlertView (1.0.0)

Analyzed 1 podspec.

SHPAlertView.podspec passed validation.

發(fā)布

官方文檔:Getting setup with Trunk

首先注冊(cè)一個(gè) CocoaPods Trunk 賬戶,注意將下面的郵箱、姓名與描述替換為自己的信息。

$ pod trunk register sheep@cocoapods.org 'Sheep' --description='macbook pro'

完成后使用 pod trunk me 檢查是否成功,成功后開始上傳:

如果是公開的使用

$ pod trunk push [NAME.podspec]

如果私有則使用

$ pod repo push REPO [NAME.podspec]

看到類似如下的信息,則上傳并發(fā)布成功

$ pod trunk push SHPAlertView.podspec 
Updating spec repo `master`
Validating podspec
 -> SHPAlertView (1.0.0)

Updating spec repo `master`
  - Data URL: https://raw.githubusercontent.com/CocoaPods/Specs/2879acf97fcf49a1355c9301f62b96dbd913d702/Specs/SHPAlertView/1.0.0/SHPAlertView.podspec.json
  - Log messages:
    - November 23rd, 13:26: Push for `SHPAlertView 1.0.0' initiated.
    - November 23rd, 13:26: Push for `SHPAlertView 1.0.0' has been pushed
    (1.222696649 s).

可以嘗試使用 pod search [NAME] 看看你的庫是不是已經(jīng)出現(xiàn)在里面啦~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容