這兩天準備把之前寫的一些小玩意添加到pods庫中去,參考了一些資料後進行操作,實際中也遇到了一些問題,記錄下來,問題及解決方式在後面。
參考內容轉載如下:
首先更新了用trunk之後,CocoaPods需要0.33版本以上的,用 pod --version查看,如果版本低,需要更新,之前有介紹更新方法。
下一步註冊trunk
pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'
你註冊的時候需要替換郵箱和名字,加上 --verbose 可以看到詳細信息。
然後順利的話你會收到一份郵件,需要點擊驗證。
pod trunk me//查看自己的註冊信息
當然,如果你的pod是由多人維護的,你也可以添加其他維護者
pod trunk add-owner ARAnalytics kyle@cocoapods.org
創建podspec
執行命令:
pod spec create HZWebViewController
會在當前目錄下生成 HZWebViewController.podspec 文件,然後我們編輯這個文件。
podspec文件裏面有很多註釋。我們看個例子
一眼看去就很明白了,不用一一解釋了,當然,這裏的配置項遠遠多於這些。
ok這裏配置完成之後,需要把你的源碼push到github上,tag一個版本號並且發佈一個release版本,這樣podspec文件中的s.source的值才能是準確的。
這些操作也不屬於本文的所研究的範疇。
提交
上面的工作完成之後,我們就可以開始 trunk push 了
pod trunk push 命令會首先驗證你本地的podspec文件(是否有錯誤),之後會上傳spec文件到trunk,最後會將你上傳的podspec文件轉換爲需要的json文件
第一步驗證podspec文件也可以自己去做 pod spec lint Peanut.podspec
成功部署之後,CocoaPods會在Twitter上@你
我們可以看看我們提交的名字爲:HZWebViewController的pod
pod search HZWebViewController
我們也可以在本地的 ~/.cocoapods 路徑下看到,轉換之後的json文件
實際操作中的問題:
1.pod驗證本地podspec文件速度很快,使用pod trunk me查看自己的信息也能很快響應,但是當使用
pod trunk push命令時,需要非常的有耐心,因爲這步的操作實在是耗時太久。
2.push成功之後,我嘗試使用pod search命令查找自己的控件,發現無法搜索到,後來發現提交之後,需要使用pod setup命令進行庫更新,實際更新時又是卡了很久,最後還是通過翻牆VPN操作成功的。期間還遇到了CocoaPods was not able to update the`master`這樣的錯誤,最後通過刪除之前的緩存 rm -fr ~/.cocoapods/repos/master
再使用pod setup操作成功。
最後總結下操作步驟:
1.你的開源庫發佈之後,需要打上版本號tag,否則後續不能完成
2.註冊pod trunk
pod trunk register xxx@xx'Your name' --description='macbook air'
2.cd到項目目錄下,創建podspec文件
pod spec create YourPodProjectName
3.修改podspec文件中的相關信息,這很重要,校驗,不能有任何警告或錯誤
pod spec lint YourPodProjectName.podspec
4.發佈到pod trunk
pod trunk push YourPodProjectName.podspec
5.更新pod庫
pod setup
之後就可以搜索到並使用了。