手把手教你釋出自己的 cocoapods 開源庫

發表於2017-08-22

釋出自己的cocoapods開源庫按照以下步驟,良心製作,包教包會!!

下面我會通過一個名為IFMMenu的專案來講解一下整個過程。

1.寫好程式碼,上傳到github

github上建立專案倉庫的時候記得建立LICENSE(許可證/授權)檔案,此檔案必須要有。

11953487-d9586f719509d84d
github上建立專案倉庫

2.將自己的專案打成tag

因為cocoapods是依賴tag版本的,所以必須打tag,以後再次更新只需要把你的專案打一個tag,然後修改.podspec檔案中的版本接著提交到cocoapods官方就可以了,提交命令請看下面

3.註冊CocoaPods

trunk需要CocoaPods 0.33版本以上,用pod --version命令檢視版本,如果版本低,需要升級。

已經註冊過的不需要註冊,怎麼看自己有沒有註冊

12953487-2964c11186659814
pod trunk me資訊

若未註冊,執行以下命令,郵箱以及使用者名稱請對號入座。使用者名稱我使用的是Github上的使用者名稱。

註冊完成之後會給你的郵箱發個郵件,進入郵箱郵件裡面有個連結,需要點選確認一下。
註冊完成後使用pod trunk me檢驗註冊是否成功。

4.建立.podspec

cd到你專案的目錄,執行命令

5.編輯.podspec

建立好後,開啟.podspec,刪除註釋, 前面有#的為註釋,也可以用以下程式碼替換,然後編輯自己的庫資訊。

  • s.name:名稱,pod search搜尋的關鍵詞,注意這裡一定要和.podspec的名稱一樣,否則報錯
  • s.version:版本號,to_s:返回一個字串
  • s.author:作者
  • s.homepage:專案主頁地址
  • s.summary: 專案簡介
  • s.source:專案原始碼所在地址
  • s.license:許可證
  • s.platform:專案支援平臺
  • s.requires_arc: 是否支援ARC
  • s.source_files:需要包含的原始檔
  • s.public_header_files:需要包含的標頭檔案
  • s.ios.deployment_target:支援的pod最低版本

其他一些非必要欄位

  • s.social_media_url:社交網址
  • s.resources:資原始檔
  • s.dependency:依賴庫,不能依賴未釋出的庫

s.license= { :type => “MIT”, :file => “LICENSE” }
這裡建議這樣寫,如果寫別的會報警告,導致後面一直提交失敗。

source_files寫法及含義

*表示匹配所有檔案
*.{h,m}表示匹配所有以.h.m結尾的檔案
**表示匹配所有子目錄

s.source常見寫法

  • commit => "68defea" 表示將這個Pod版本與Git倉庫中某個commit繫結
  • tag => 1.0.0表示將這個Pod版本與Git倉庫中某個版本的comit繫結
  • tag => s.version表示將這個Pod版本與Git倉庫中相同版本的comit繫結

6.驗證.podspec

到此檢查一下你工程中有以下檔案:

  • 你的專案,
  • .podspec檔案,
  • LICENSE檔案
13953487-54026ea978fe18ab
專案內檔案

使用以下命令測試本地.podspec檔案是否存在語法錯誤。

7.釋出

時間較長,耐性等待,大概5-10分鐘,釋出成功後會有以下提示

14953487-e3c7a5148b9875f4
釋出成功截圖

8.測試自己的cocoapods

這個時候使用pod search搜尋的話會提示搜尋不到,可以執行以下命令更新本地search_index.json檔案

然後

該命令會重新建立search_index.json檔案,5-10分鐘,耐性等待

15953487-4e282baf16796cfc
搜尋結果

完整命令

報錯處理

意思是:不能接受同一版本的提交

解決方案:
1、執行如下命令

2、修改XXXX.podspec檔案中的內容

3、執行命令pod spec lintpod trunk push 庫名.podspec驗證並提交到CocoPods

最後

IFMMenu是一個仿微信首頁新增選單的多功能、多種屬性可自定義的下拉選單,歡迎download下載提意見,star,感謝閱讀。

16953487-26b88310ebdae1c7
IFMMenu展示圖

下一篇預告:

cocoapods私有倉庫搭建


參考文章:
如何釋出自己的開源框架到CocoaPods
把自己的開源庫新增cocoapods
3分鐘讓你的框架支援cocoapods,podspec檔案講解
iOS:手把手教你釋出程式碼到CocoaPods(Trunk方式)
iOS開發CocoPods支援報錯

相關文章