iOS 項目組件化(二) :私有庫的更新迭代

我們開發(fā)項目不可能私有庫創(chuàng)建好以后就不管了,產(chǎn)品的更新迭代、版本的開發(fā)、修改或者優(yōu)化問題時,都需要給私有庫進行升級更新。就如沒有組件化前每開發(fā)一個版本,新拉一個分支打一個Tag,防止版本的更新造成代碼的紊亂、業(yè)務(wù)的不流暢。

我們以在私有庫新增一個頁面為例。


1. 代碼添加好,執(zhí)行pod install

PS:上面的代碼進行了分層,在下面會將到。分層后執(zhí)行pod install代碼消失,請看最后。

leon:Example huanghaipo$ pod install

2. 提交代碼

# 保存代碼
$ git add .

# 先提交到本地倉庫,并填寫提交描述
$ git commit -a -m "私有庫版本更新"

# git pull origin maste可能會失敗 ,提示:fatal: refusing to merge unrelated histories 原因是遠程倉庫origin上的分支master和本地分支master被Git認為是不同的倉庫,所以不能直接合并,需要添加 --allow-unrelated-histories 如果已經(jīng)綁定過這
$ git pull origin master --allow-unrelated-histories

# 推送項目到master分支上  第一次push如果報錯的話可以加上 origin 前面加上 -f
$ git push origin master

# 提交版本號 建議和 podspec文件里面寫的版本號一致
$ git tag -a '新版本號' -m '注釋'

# push到遠程分支 或者執(zhí)行g(shù)it push --tags
$ git push origin 0.0.1
提交代碼
查看遠程私有倉庫 成功

3. 修改podspec文件,更新索引庫。

1. 修改podspec文件中的版本號,版本號要和剛才的tag一致。

s.version          = '0.0.2'

2. 遠程驗證podspec文件。

//--private私有庫參數(shù)
pod spec lint --private
驗證通過

3. 更新索引庫

pod repo push HPSpeccs(索引庫名) 項目名稱.podspec(podspec文件)
更新成功

查看本地索引庫,有剛才更新的版本。


查看本地索引庫

查看遠端索引庫,有剛才更新的版本。


查看遠端索引庫

4. 更新項目中的私有庫版本

不過一般執(zhí)行過第一步的pod install這一步就不用執(zhí)行了,執(zhí)行第一步的時候就已經(jīng)把代碼添加進去了。

// --no-repo-update 如果不更新版本索引庫加這條命令
pod update

第一步出現(xiàn)的問題

問題:執(zhí)行過后私有庫的代碼都沒了。
原因:我對于代碼進行分層分類,在Classes下新建文件(HPPrivateLibraryClass)將所有代碼放到這里,但是沒有告訴CocoaPods對代碼進行了分層,它在去安裝時找不到代碼。

問題

解決辦法:在HPPrivateLibrary.podspec文件中添加分層說明。

//HPPrivateLibrary 當前項目的名稱
//ViewControllers HPPrivateLibraryClass文件下的子文件 存放視圖控制器
//sss.source_files 代碼存放的路徑 *代表ViewControllers下的所有文件
 s.subspec 'HPPrivateLibrary' do |ss|
    ss.subspec 'ViewControllers' do |sss|
      #不是真實路徑依賴 比如說ViewControllers依賴了Views,Views依賴了Models,所以不需要在寫依賴Models
      sss.source_files = 'HPPrivateLibrary/Classes/HPPrivateLibraryClass/ViewControllers/*'
    end
  end
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容