原創 2017-05-09
關鍵點:
- 公有Pod倉庫創建
- 私有Pod的創建規範
- 如何開發及部署你的pod
這裏僅以公司一個示例項目列舉部分規範,後期會持續修改,如果你也在做這方面的事情,並且有更多我暫時沒有說到的建議請聯繫我的郵箱,不勝感謝!
公有Pod倉庫創建
相信你已經通過組件化開發之-Cocoapods使用及創建發佈自己的Pod瞭解到瞭如何創建一個共有倉庫,創建公有倉庫時,並沒有什麼規範,但是有一個建議是你創建出來的項目目錄按照如下比較好(這些是參考的cocoapods官方網站示例):
- 包含一個Pod
- 包含一個Example目錄,介紹使用方法
- Pod 目錄目錄層次下包含一個Classes、Resources(資源文件再繼續分層級)
如下是我的一個公有pod及現有可以使用的pods
私有Pod的創建規範
我們要創建私有倉庫,那麼在選用私有倉庫時可以使用github的私有倉庫(當然這是需要付費的),抑或在自家服務器上搭建一個,我是比較傾向於第三個使用碼雲。
假設你已經有了一個碼雲賬號,這裏我們還是先創建一個組織吧,可以以你團隊的名稱,或者其他任何你喜歡的名稱(因爲有可能你們是幾個團隊使用的是一個碼雲賬號,爲了避免repository過多管理問題,或者覺得看着不舒服)
-
創建了一個組織:
-
接下來就是創建你的私有Repository
-
添加一個Pod
建議你的私有pod名稱可以是你公司的名字,或者一個項目的名字,方便以後管理, 這裏我以公司名稱 sefon 爲例
-
接下來就是創建組件相關的Repository
這裏我參考的是cocoapod官方提供的一個私有倉庫創建示例:採用私有repo名稱-組件名稱,比如你在添加一個私有repo時使用的是Sefon,而這裏你需要開發一個用戶User相關的組件,那麼Sefon-User就應該作爲你在git上的repository名稱。
-
創建.podspec
在上面提到的我們倉庫名稱爲Sefon-User,在這裏我們我們的pod是略微不同,我們需要使用Sefon+User這個名稱,這不是強制性的,但是需要你這麼做,保持整改項目的規範(這裏也是參考cocoapod官方提供的私有倉庫創建示例)
-
完善目錄結構
在創建的私有pod中,這裏需要:- 包含一個使用.swift-version (如果使用的是Swift開發必須)
// 在你的.podspec所在目錄執行 $ echo "swift版本" > .swift-version // 比如我使用的是3.0
$ echo "3.0" > .swift-version
- 包含Pod所有的引用以及一個Exmaple - Pod包含一個Classes文件夾(必須) - Pod包含一個Resources文件夾(非必須,存在資源文件添加) - Pod目錄層級下Resources中將資源需要分離開來,如:Fonts、Images、Sounds等
- 包含一個使用.swift-version (如果使用的是Swift開發必須)
如何開發及部署pod
-
項目採用MVVM開發模式,請在你的項目中至少包含着幾個文件夾Model、View、ViewModel
-
開發完成後,確認通過測試,現在可以將你所依賴的class、資源等拷貝進我們上面提到的Pod 目錄所對應的層級結構中:
修改.podspec
參照官方Guides以及組件化開發之-Cocoapods使用及創建發佈自己的Pod 修改你的.podspec
特別說明:
如果你的組件使用到了第三方的Podfile,那麼在你構建你自己的Pod時請你將其添加至你的.podspec中的s.dependency, 這裏會影響到後續的插件化開發,以及通過Jenkins實現持續構建的問題,以及提供SDK供第三方自行開發業務組件,具體細節將在後續補充