前言:相信大部分的iOS程序員都想將自己寫的工具上傳到cocoaPods供大家使用,網上關于這方面的教程已經太多太多了,但是如果你真正親自去實踐一次,你就會發現里面有很多坑等著你,并不像別人說的輕輕松松就把代碼托管到了cocoaPods上面,最近閑來無事,我在經過無數次失敗以后,終于使自己的PodSpec.文件通過了驗證,這里我將自己遇到的坑給大家列出來,希望能夠幫到那些有這方面需求的程序猿。
一:第一坑,所有需要驗證的PodSpec.文件都必須要打tag值,不然不能通過驗證。(注意:每次打的tag值必須比上次打的tag值大,而且你的版本號也不能小于你的tag值,不然也不能驗證通過)
二:第二坑,所有的配置文件驗證都是跟github上面的代碼進行對比的,所以在修改了本地PodSpec.文件以后,請先上傳代碼到github再進行 pod lib lint 命令驗證
三:第三坑,公開頭文件的目錄請用單引號括起來,如下:
四:如果你在終端中出現了以下顯示,證明你的項目已經發布成功了
五:一般情況下,在你提交成功以后,其實還是不能再終端中通過pod search 命令搜索到你托管的第三方的,你需要到cocoapods去認領你的第三方
網址:https://trunk.cocoapods.org/claims/new ?
六:之后就一直等待發布一段時間,然后就能在cocoapods上面搜索到你的第三方了(注:有時候還是搜索不出來你發布第三方,我們這個時候就可以只通過名字來搜索你的第三方 )
pod search +三方名 ?+ simple ??
(注:一開始我只能通過上面那種+simple的方式搜索出來,我當時是懷疑是自己的圖片資源放在項目中,但是并沒有在spec文件中設置規則來約束它,因為我的spec文件在進行驗證的過程中報警告了,最后操作了一番,不需要加simple也能搜索出來了。)
(1):? 如果還是搜索不出來那就執行 pod setup
發現顯示的還是 Unable to find a pod with name, author, summary, or descriptionmatching 'LFBPageScrollView'。
(2):如果搜索不出來那就更新pod ?:
命令: ?pod repo update ? 然后就是等待更新結果
(3): 這個時候咱們就將生成的json文件給刪除了
pod setup成功后會生成~/Library/Caches/CocoaPods/search_index.json文件。
終端輸入rm ~/Library/Caches/CocoaPods/search_index.json
刪除成功后再執行pod search
(4):執行pod search?
終端輸入:pod search LFBPageScrollView(不區分大小寫)
輸出:Creating search index for spec repo 'master'.. Done!,稍等片刻就會出現所有帶LFBPageScrollView字段的類庫出現;如果在這種情況下還是搜索不到你的第三方,那么你就只有再仔細檢查一下,你之前哪里做的不對。
關于如何更新版本的問題:
在很多時候,我們需要更新迭代我們發布的第三方,我們這個時候只需要做以下幾件事就可以輕松的更新原來的東西。
1.需要將spec文件拷貝過來
2.將spec的version 和tag 都改一下
3.通過git打一個新的大于以前的tag值
4.通過pod spec lint 來驗證spec文件是否有效
5.將新的spec文件推送到cocoapods上面去
6.再次到cocoapods官網去認領自己的第三方(注:朋友說需要再次領取,也有人說不需要再次認領,不需要再次認領的情況我還是沒嘗試過,等我試過以后再給大家分享。)