CocoaPods提交初體驗
距離將GCTagList提交到CocoaPods,大概有一個禮拜了, 也送了兩個版本到上面去; 今天記錄一下提交的一些內容~
CocoaPods
CocoaPods是一個管理Objective-C專案的thrid library的工具; 在專案內更新lib不用在使用手動的方式來更新使用的libs, 也可以指定使用lib的版本; 現在已經進步到更新Podfile
XCode不用在重新開啟workspace了~
建立一個Spec for CocoaPods
依照CocoaPods上的解說, 有幾個步驟:
- 你必須要建立一個的Spec檔案
{lib_name}.podspec
- 編輯spec檔案
- 檢查spec檔案是否正確
- spec無誤後, 在 CocoaPods/Specs 加入spec檔案, 送出Pull Request的申請
如果沒問題的話, 收到merge的通知就表示你可以在cocoapods上查找你的lib啦, 那麼我們快速的看一下如何製作一個Spec for CocoaPods。
先使用Command line來建立Spec檔案(推薦iTerm2)
1
|
|
建立之後, 在資料夾中會出現一個GCTagList.podspec
接著編輯spec (依照習慣, 我個人習慣sublime text 2)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
- name
- version
- summary
- homepage
- license
- author
- source
以上幾個部分是Spec裡面不能少的, 其他的可以依照你的需求來增加內容 ,更多的詳細資訊在這邊The-podspec-format
GCTagList只支援iOS5~6, 在plaform
設定成 ios, '5.0'
; 另外因為有assets所以在resource
要指定assets的路徑, 路徑是依照專案的相對位置(不確定是不是github上的); framework
同理, 如果有多個的話使用frameworks
然後使用的framework用”,”隔開'SystemConfiguration', 'CoreServices'
。
在完成spec檔案後, 在使用指令來檢查spec是否有錯誤
1
|
|
如果沒有錯誤會出現下面的內容
接下來,
- 到CocoaPods/Specs fork一份新的Specs下來,並複製在本機端。(建議在提交前在fork, 避免覆蓋到其他人的內容)
- 在Spec建立Library的資料夾, 並將資料夾命名為Library的名稱。
- 依照提交的版本建立不同的資料夾, 資料夾命名為版本名稱, 在將Spec檔案放入。
完成後的大該像下面這樣
在將修改玩的specs commot&pusd到自己的github上, 然後在website點擊pull request來送出請求, 到這邊只要等待通知啦, 基本上spec有檢查的話應該就會直接通過了。
最後
在確定收到merge完成的通之後, 你可以在commond line更新本機端的spec檔案, 應該就可以搜尋到你的檔案啦~
如果你在使用的library在CocoaPods上找不到的話, 也是可以主動幫他建立一個spec檔, 主動提交上去如果過了就可以使用CocoaPods來管理囉。