1. 程式人生 > >Cocoapods建立私有庫——初級版

Cocoapods建立私有庫——初級版

一、 首先簡單瞭解下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!,稍等片刻就會有出現相關類庫。