由於公司項目拆分的版本太多,而且每個版本之間還有相同的功能模塊,外加上平時自己定義了一些工具類以及封裝的小控件,所以將項目模塊化勢在必行。利用cocoapod進行模塊化就是很好的選擇,他可以規範化的管理代碼,功能更新後只需要修改相應的模塊,更新到github上,再在項目進行相應的更新即可。省去了手動修改模塊的麻煩。同時還可以進行版本管理,可以根據業務上的需求,獲取到不同的模塊版本。
首選電腦上需要配置好ruby和cocoapods環境,流程自行查詢不做過多贅述。
本人自己的項目代碼都是放在碼雲上,如果你沒有github賬號則需要註冊一個新賬號,註冊完畢後開始創建一個新的倉庫(create a new repository)
1、然後填寫倉庫名稱(Repository name)
2、描敘信息(Description)
3、勾選項目爲Public、
4、勾選README
5、選擇你的語言(我這裏勾選的是Object-c)
6、選擇證書(通常選擇MIT即可)
這樣我們就在github上創建完成了一個遠程倉庫
複製好紅框中的地址 然後打開終端
輸入git clone XXX(紅框中的url)
將項目clone到本地之後 找到他 放入你存代碼的地方
我們打開這個項目文件夾 並且向這個文件夾中加入我們想要模塊化的代碼
在命令行輸入如下命令,將代碼推送到github上面
1、git add -A
2、git commit -m 'my test first commit'
3、git push origin
給倉庫加上tag
4、git tag 1.0.0
5、git push origin --tags
成功之後再到github上面刷新一下網頁
多出了這兩個文件,就證明我們之前的操作成功了
至此,我們的github部分的工作就算完成了,接下來要開始做cocoapod部分的了
首先我們需要創建一個podspec文件輸入如下命令
pod spec create MyGeddyPodTest
這裏需要注意一點 我們的名稱千萬不要重複,如果重複了我們將無法提交,我們可以通過 pod search XXX(文件名)去檢驗一下我們的名字是否存在
注意這裏的“MyPodTest“ 這個就是我們的庫名,在使用時,我們需要用這個名子來拉取我們的文件(例:pod 'MyPodTest', '~> 1.0.0')
上面的步驟完成之後 我們的項目中就會多出來一個spec文件,這個文件就是配置我們這個倉庫的所有相關信息。我們可以用文本編輯或者sublime 或者VS打開,編輯裏面的內容,我們編輯完畢後,文件內的所有註釋需要刪除掉。
Pod::Spec.new do |s|
s.name = "MyGeddyPodTest"
s.version = "1.0.0"
s.summary = "A short description of MyPodTest."
s.description = <<-DESC
我的測試項目
DESC
s.homepage = "https://github.com/Geddy1/MyPodTest"
s.license = "MIT (example)"
s.author = { "[email protected]" => "[email protected]" }
s.source = { :git => "https://github.com/Geddy1/MyPodTest.git", :tag => "#{s.version}" }
s.source_files = "BaseView.{h,m}"
s.exclude_files = "Classes/Exclude"
end
接下來需要註冊trunk賬號
pod trunk register 郵箱 暱稱 --description="描述
成功之後會有讓你打開郵箱進行驗證的提示,打開你的郵箱點擊鏈接進行驗證
驗證之後,輸入
pod trunk me
這裏不需要多解釋,按流程操作即可
然後驗證一下spec文件是否有合格
pod spec lint MyGeddyPodTest.podspec
如果有問題,對應的修改MyGeddyPodTest.podspec中的問題 ,檢驗合格之後,提交
pod trunk push
上傳成功
這時我們就可以通過pod search搜索一下我們的庫名 如果正常的話是可以顯示出來 我們就可以使用了