iOS pod組件化

眾所周知 當一個app項目足夠大時 每個功能點細分出來 可以分成多個子app 例如美團 則是由 美團外賣 貓眼電影 ··· 等等組成? 。為了更好的管理應用工程 iOS項目 一般采用的pod組件化解決方案 比較著名的有蘑菇街組件化之路

本文只講解一下 pod組件化執(zhí)行步驟

組件化大體思路

框架說明

繼續(xù)集成:一個主工程(殼工程),包含所有的內(nèi)容(整個項目),用于發(fā)包或打包測試。

基礎(chǔ)組件: 不依賴其他任何組件,獨立完成功能。主要有:與業(yè)務無法的功能(如string或data的加密,category的封裝)對第三方庫的封裝(如AFNetworking,SDWebImage的封裝)

業(yè)務公用組件:依賴基礎(chǔ)組件或UIKit等系統(tǒng)組件,創(chuàng)建業(yè)務共同使用的功能(如分享,支付,網(wǎng)絡訪問)

中間組件:連接業(yè)務公用組件和業(yè)務組件,及業(yè)務組件之間的互相調(diào)用。(如Mediator的組件)

業(yè)務組件:單獨的業(yè)務功能,不依賴其他業(yè)務組件。

組件化流程

1.在git庫中創(chuàng)建自己的代碼庫和pod文件依賴庫?記得添加LICENSE文件 我這里用了開源中國 碼云 git庫

2. 把代碼庫git clone到本地? 這里借用了SourceTree工具

執(zhí)行pod repo addJZBLib_iOShttps://git.oschina.net/jzbwlkj/JZBLib_podspecs.git

3 創(chuàng)建一個demo 用來演示組件的用法 創(chuàng)建完挪到chone到本地的代碼庫中

4 把自己寫的組件git庫的最外層 必須保證運行無誤

5 創(chuàng)建pod所對應的podspec文件? 終端cd到本地git代碼庫pod spec create JZBLib_iOS 創(chuàng)建完成后 用xcode查看(把文件拖到Xcode 即可)

6 把里邊的內(nèi)容都刪了 復制一套模版即可? 里邊內(nèi)容不明白啥意思的自行百度

s.name= 'JZBLib_iOS'

s.version????????? = '0.0.1'

s.summary????????? = 'ios

基礎(chǔ)庫

'

s.description????? = <<-DESC

TODO: Add long description of the pod here.

DESC

s.homepage ??????? = '

https://git.oschina.net/jzbwlkj/JZBLib_iOS'

# s.screenshots ??? = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'

s.license????????? = { :type => 'MIT', :file => 'LICENSE' }

s.author ????????? = { 'xs' =>'986852522@qq.com' }

s.source ????????? = { :git => 'https://git.oschina.net/jzbwlkj/JZBLib_iOS.git', :tag => s.version.to_s }

# s.social_media_url = 'https://twitter.com/'

s.ios.deployment_target = '8.0'

s.source_files = 'JZBLib_iOS/*'

s.source_files = 'JZBLib_iOS/**/*'

s.dependency 'Mantle', '~> 2.1.0'

s.dependency 'YYCache', '~> 1.0.4'

s.dependency 'YYCategories', '~> 1.0.4'

s.dependency 'FLKAutoLayout', '~> 1.0.0'

s.dependency 'pop', '~> 1.0'

s.dependency 'SVProgressHUD', '~> 2.0.3'

s.dependency 'AFNetworking', '~> 3.1.0'

end

7 ?在git倉庫中創(chuàng)建版本0.01版本 跟podspec文件對應 把代碼上傳到git代碼庫

8?cd到本地代碼庫pod lib lint --allow-warnings查看版本庫檢查是否存在

9 pod spec lint --use-libraries繼續(xù)監(jiān)測spec合法性

10 pod repo push?JZBLib_podspecsJZBLib_iOS.podspec把space文件傳到自己創(chuàng)建的space倉庫

11 pod searchJZBLib_iOS

參考網(wǎng)址

1http://www.itdecent.cn/p/d6a592d6fced

2http://codecloud.net/10058.html

3http://www.itdecent.cn/p/0a4fbb94ef9f

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

  • 眾所周知 當一個app項目足夠大時 每個功能點細分出來 可以分成多個子app 例如美團 則是由 美團外賣 貓眼電影...
    iOS排頭兵閱讀 1,267評論 0 3
  • 最近在學習vue.js的時候發(fā)現(xiàn),vue的組件化的思想對于編寫代碼是一個非常有用的事情。 首先為什么需要組件化? ...
    拂曉的云閱讀 7,356評論 6 23
  • 用到的組件 1、通過CocoaPods安裝 2、第三方類庫安裝 3、第三方服務 友盟社會化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 15,191評論 1 180
  • 一、什么是微服務(Microservices )? 微服務是一種架構(gòu)風格,一個大型復雜軟件應用由一個或多個微服務...
    花蝴蝶511閱讀 1,499評論 0 1
  • 在廣闊的大西北待了一個月,昨天二半夜回來,今天大中午剛起床,用什么儀式迎接在H市的新生? 對于一個吃貨而言,無疑是...
    王小草兒閱讀 371評論 10 3

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