簡(jiǎn)介
在開(kāi)發(fā)過(guò)程中吕嘀,經(jīng)常會(huì)使用到第三框架弯院,我們通過(guò)一個(gè)pod install
命令,很方便的就將第三方框架加到我們自己的項(xiàng)目中纵潦。
如果我們也想將自己寫(xiě)的組件或庫(kù)開(kāi)源出去徐鹤,讓別人也可以通過(guò)pod install
命令安裝自己的框架該怎么做呢?下面邀层,我就教大家一步一步的將自己的pods
發(fā)布到CocoaPods
中返敬。如果你現(xiàn)在對(duì)CocoaPods
還不太了解,推薦你看一看這篇文章:CocoaPods的安裝與使用
在 GitHub 上創(chuàng)建一個(gè)開(kāi)源項(xiàng)目寥院,項(xiàng)目中必須包含這幾個(gè)文件
-
LICENSE
:開(kāi)源許可證 -
README.md
:倉(cāng)庫(kù)說(shuō)明 - 開(kāi)源項(xiàng)目
-
cocoaPodsName.podspec
:CocoaPods
的描述文件劲赠,這個(gè)文件非常重要
下面就創(chuàng)建 CocoaPods
公有庫(kù)做一下分享:
在 github
上創(chuàng)建倉(cāng)庫(kù)。
備注:
-
github
倉(cāng)庫(kù)的名稱,不允許重名凛澎。 -
LICENSE
:開(kāi)源許可證霹肝,默認(rèn)一般選擇MIT
。
創(chuàng)建 *.podspec 文件
使用命令行塑煎、sourceTree
或者 GitHub Mac
將項(xiàng)目克隆到本地沫换,然后 cd
進(jìn)入本地項(xiàng)目工程中,然后創(chuàng)建 *.podspec
文件最铁。例如:
pod spec create cocoaPodsName;
當(dāng) Specification created at cocoaPodsName.podspec
說(shuō)明創(chuàng)建 *.podspec
文件成功苗沧,這時(shí)就會(huì)在你的本地項(xiàng)目工程中下生成 cocoaPodsName.podspec
文件。
編輯 *.podspec 文件
使用文本編輯器或者 sublime
等編輯 *.podspec
文件炭晒。
備注:
1待逞、s.name:公有庫(kù)的名稱。
2网严、s.version:公有庫(kù)的版本识樱。
3、s.summary:公有庫(kù)簡(jiǎn)短介紹震束。
4怜庸、s.description:公有庫(kù)詳細(xì)介紹。
5垢村、s.homepage:公有庫(kù)在GitHub上的地址割疾。
6、s.license:開(kāi)源協(xié)議嘉栓。
7宏榕、s.author:作者。
8侵佃、s.source:公有庫(kù)在GitHub上的地址和版本號(hào)麻昼。
9、s.source_files:公有庫(kù)對(duì)外共享的.h和.m文件馋辈。
10抚芦、s.requires_arc:是否支持ARC。
沒(méi)有涉及到的字段可以去官方文檔查閱迈螟。
驗(yàn)證 *.podspec 文件
pod lib lint cocoaPodsName.podspec --allow-warnings --verbose
注意:
-
--allow-warnings
忽略開(kāi)源項(xiàng)目工程里面的警告叉抡; -
--verbose
在控制臺(tái)查看詳細(xì)的信息。
驗(yàn)證成功會(huì)出現(xiàn):
-> cocoaPodsName (0.0.1)
cocoaPodsName passed validation.
發(fā)布 *.podspec
驗(yàn)證有效后答毫,然后再將本地項(xiàng)目工程中得所有文件 push
到 github
上褥民。
git add .
git commit -m "first commit"
git remote add origin https://github.com/sunjinshuai/test.git
git push -u origin master
$ git tag -m "first release" 0.0.1
$ git push --tags #推送tag到遠(yuǎn)端倉(cāng)庫(kù)
向 CocoaPods
注冊(cè)賬戶信息,例如:
pod trunk register 郵箱 ‘用戶名’ --description=‘描述’
注意:
郵箱為github
上的登錄郵箱烙常、用戶名為github
上的用戶名轴捎。
接收發(fā)送到郵箱的鏈接鹤盒,點(diǎn)擊進(jìn)入后注冊(cè)成功。
查看注冊(cè)的個(gè)人信息侦副。
pod trunk me
驗(yàn)證發(fā)布到 cocoapods
上的公有倉(cāng)庫(kù)是否有效侦锯。
pod spec lint cocoaPodsName.podspec --allow-warnings --verbose
發(fā)布自己的庫(kù)的 podspec
文件給 cocoapods
pod trunk push cocoaPodsName.podspec --allow-warnings --verbose
大功告成,使用pod search cocoaPodsName
搜索即可秦驯。