背景
什么是iOS組件化?
iOS組件化是指將iOS應用程序分解為相互作用的組件始锚,這些組件可以在應用程序的多個部分進行重復使用。這種組件化的方法可以提高應用程序的可維護性和可擴展性操禀,并簡化開發(fā)過程寇蚊。組件化的工具常用的就是Cocoapods。
目的
iOS組件化的目的是提高應用程序的可維護性和可擴展性开缎,同時降低代碼重復和提高開發(fā)效率棕叫。通過將應用程序分解為可重用的組件,可以使代碼更易于理解和維護啥箭,同時也使得新功能的添加變得更加容易谍珊。組件化還可以促進多人多團隊的開發(fā),因為不同的團隊可以專注于開發(fā)不同的組件急侥,然后將其組合在一起以構(gòu)建完整的應用程序砌滞。此外,組件化還有助于遵循設(shè)計模式和架構(gòu)模式坏怪,這些模式提供了將應用程序的不同部分分開的指南和最佳實踐贝润。最后,iOS組件化還可以促進生態(tài)系統(tǒng)的形成铝宵,使得開發(fā)者可以共享和重用彼此的組件打掘,從而促進協(xié)作和創(chuàng)新。
方案
Cocoapods管理組件
下面是用之前封裝的網(wǎng)絡診斷框架HDNetDiagnoService(在LDNetDiagnoService基礎(chǔ)之上封裝鹏秋,此框架已經(jīng)7尊蚁、8年沒有維護更新,已經(jīng)無法直接使用)上傳到Cocoapods上的過程侣夷。
1横朋、創(chuàng)建github賬號(如果已經(jīng)有了忽略此步驟)
2、創(chuàng)建倉庫HDNetDiagnoService(license選擇MIT)
注意這里選擇開源協(xié)議選擇MIT License百拓,后面pods配置文件會用到琴锭,至于為什么選擇這個目前還不太了解。其他就是創(chuàng)建git倉庫的常規(guī)操作衙传。然后clone到本地决帖。
3、將需要上傳的代碼放在clone下來的文件夾中蓖捶,然后上傳代碼地回,并上傳tag。命令如下:
git add .
git commit -m 'first commit'
git tag '1.0.0' #創(chuàng)建tag 后面配置pods時會用到
git push --tags
git push origin master
4俊鱼、創(chuàng)建.podspec文件刻像,命令如下:
pod spec create HDNetDiagnoService
執(zhí)行成功后此時文件夾中會多出一個.podspec文件
5、編輯.podspec文件
6亭引、驗證绎速,命令如下
pod lib lint
為了避免一些警告造成驗證不通過,可以加上 --allow-warnings
pod lib lint --allow-warnings --verbose --use-libraries
出現(xiàn)下圖時焙蚓,說明驗證成功了纹冤。
7、發(fā)布到Cocoapods
首先要注冊一個Trunk賬號(如果有了可以忽略此步驟)
# 注冊Cocoapods賬號(會接收到一封郵件购公,驗證即可)
pod trunk register 注冊github的郵箱 "名字"
# 查看自己的賬號
pod trunk me
發(fā)布
pod trunk push HDNetDiagnoService.podspec
同樣有可能會因為警告而造成發(fā)布失斆染(也有可能是超時,多試幾次)
pod trunk push HDNetDiagnoService.podspec --allow-warnings --verbose --use-libraries
加上--verbose 可以將錯誤信息打印出來宏浩,方便查找定位錯誤知残。
發(fā)布成功后,檢查是否發(fā)布成功比庄、是否可用(如果當時搜索不到求妹,可能要等幾個小時后才能搜索到):
pod search HDNetDiagnoService --simple
發(fā)布后如果搜索不到乏盐,則刪除索引
rm ~/Library/Caches/CocoaPods/search_index.json
然后更新本地庫
pod repo update
8、使用方法:
將pod ‘HDNetDiagnoService’ 添加到Podfile文件中制恍。執(zhí)行pod install命令即可父能。