上一篇介紹了:CocoaPods簡介及基本使用,本篇將介紹一下CocoaPods公有庫的建立和使用。
一、什麼是公有庫?
在我們開發中,經常會用到一些第三方庫(比如
AFNetworking
、SDWebImage
等等),我們通過pod install
命令,把第三方庫匯入自己的專案中(具體操作見:上一篇)。而這些第三方庫就是公有庫。
二、為什麼用公有庫?
如果我們也想把自己創作的 元件 / 框架 開源出去,給更多的開發者使用,那我們就要把自己的
pods
釋出到CocoaPods
裡。這樣,當別人在用pod search xxx
時,就會search到你開源的 元件 / 框架 了。
而一個開源元件/框架,一般需要包含以下幾個檔案:
- 元件/框架 原始碼;
LICENSE
:開源許可證(一般選擇MIT
);README.md
:倉庫說明(Markdown格式);cocoaPodsName.podspec
:CocoaPods的描述檔案(很重要)。
三、公有庫的建立及使用
1. 首先,在GitHub上建立好倉庫。

注意點:
1> 倉庫名(Repository name
)不可重名。
2> 開源許可證(LICENSE
)一般預設選擇MIT
。
2. 通過終端、sourceTree
、GitHub Desktop
等工具,將專案clone
到本地。
3. cd
進入專案工程目錄,建立podsName.podspec
檔案。
使用命令:pod spec create xxx

4. 編輯podsName.podspec
檔案。
使用命令:vi xxx.podspec

備註:
屬性 | 含義 |
---|---|
s.name | 公有庫 - 名稱 |
s.version | 公有庫 - 版本號 |
s.summary | 公有庫 - 簡介 |
s.description | 公有庫 - 詳細介紹 |
s.homepage | 公有庫 - 主頁(一般是GitHub地址) |
s.author | 公有庫 - 作者 |
s.license | 公有庫 - 開源協議 |
s.source | 公有庫 - GitHub地址及版本號 |
s.source_files | 公有庫 - 對外共享的.h和.m檔案 |
s.requires_arc | 公有庫 - 是否支援ARC |
更多欄位解釋:可看官方文件。
5. 編輯完成後,驗證podsName.podspec
檔案。
使用命令:pod lib lint [xxx.podspec] [--allow-warnings] [--verbose]
PS:
--allow-warnings
:忽略工程中的警告⚠️。--verbose
:檢視控制檯詳細資訊。
成功後如圖:

完成後,把檔案push到GitHub上。
6. 建立Release版本資訊:
- 方式一:使用命令列
使用命令
git tag x.x.x
, 檢視tags,使用命令git tag -l
使用命令,git push --tags
推到 github上。

- 方式二:使用官網
7. 註冊Trunk
先看看有沒有註冊,使用命令:pod trunk me
。若已註冊,則本步直接跳過。
若未註冊,則:
- 開啟終端,使用命令:
pod trunk register EMAIL [YOUR_NAME]
。 如圖:

- 這時你的郵箱會收到一封郵件:
點選後出現:
這時,回終端使用命令pod trunk me
會出現:

8. 再次校驗(可忽略,下一步會自動校驗)
使用命令:pod spec lint ["your podspec name"] [--allow-warnings]
9. 釋出公有庫
使用命令:pod trunk push ["xxx.podspec"] [--allow-warnings]

10. 完成,可用pod search podsName
搜尋使用。
使用命令:pod search QiCocoaPods
,如果沒搜到,更新一下本地的索引庫即可。(刪掉~/資源庫/Caches/CocoaPods/search_index.json
,再重新使用search命令)
結果如圖:

作者微信:可加並拉入《QiShare技術交流群》。

關注我們的途徑有:
QiShare(簡書)
QiShare(掘金)
QiShare(知乎)
QiShare(GitHub)
QiShare(CocoaChina)
QiShare(StackOverflow)
QiShare(微信公眾號)
推薦文章:
iOS 簽名機制
iOS 掃描二維碼/條形碼
iOS 瞭解Xcode Bitcode
iOS 重繪之drawRect
奇舞週刊