Cocoapods創建pod公有庫

一、 首先簡單瞭解下cocoapods的機制

cocoapods有個遠程索引庫,索引庫下放着框架的描述信息:框架的名稱,框架的版本號,框架的描述文件(.spec),開發者上傳的代碼都是位於索引庫的遠程地址下。當你進行pod初始化(pod setup)時,會把遠程索引庫下載到本地,即生成一個本地的索引庫。當我們搜索某個框架時(pod search xxx),其實在本地庫裏索引,此時真正的內部操作是檢索一個檢索文件(默認生成的文件名稱叫做search_index.json, 文件默認是被隱藏起來的,可以使用指令defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder打開隱藏文件,打開文件的路徑爲:/Users/admin/Library/Caches/CocoaPods),最後通過pod install 安裝你所需的框架。

二、Cocoapods創建私有庫創建的過程

1.本地編寫好你所需上傳的框架。

2.在github上新建一個倉庫

 

這時我們的git遠程倉庫就建立好了

3.把寫好的框架傳到git遠程倉庫

如果你的git倉庫裏有文件,比如 LICENSE 文件,這時必須先pull拉取下:

git pull origin master

然後執行推到遠端:

git push origin master

這時說明已經傳成功了, 但是此時我們的框架僅僅被git託管而已,我們並不能通過pod search xx來搜索到,此時我們就必須創建描述文件(後綴爲.podspec)。

 

三、創建描述文件

 

 

pod spec create podSacrifice

描述文件創建完成後必須修改裏面的內容,這些都是我們檢索庫的關鍵字:

pod trunk register [email protected] '你的暱稱 --verbose

這時在郵箱裏驗證下,然後推倒遠端,在推之前必須打個標籤,這個標籤跟你的版本號一致,別人就跟你的tag來找到對應的版本號:

 

 

git tag

git tag '0.0.1'

git push --tags

提交完之後 可以用下面的命令行驗證
pod spec lint 驗證遠程(這個其實是本地與遠程一起驗證,可能會出現一系列的報錯,一一解決就好)
pod lib lint 驗證本地

pod trunk push podSacrifice.podspec

 

 

 

至此說明你已經成功上傳的你框架了!但是此時你用pod search xxx可能還是搜索不到,你的私有庫,

錯誤信息爲:[!] Unable to find a pod with name, author, summary, or description matching ‘xxxx’

解決方案爲:

  • 我們pod setup成功後會生成~/Library/Caches/CocoaPods/search_index.json文件。
  • 終端輸入rm ~/Library/Caches/CocoaPods/search_index.json
  • 刪除成功後再執行pod search xxxx
  • 此時終端輸出:Creating search index for spec repo 'master'.. Done!,稍等片刻就會有出現相關類庫。

 

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