iOS组件化参考:
开发管理
得益于Git&CocoaPods的版本管理与库依赖功能,Git与CocoaPods知识请移步百度&Google。
- 私有Cocoapods仓库 iCSpec
- 资源文件Bundle库 iCResources
- 基础模块库化 iCBaseClass | iCMacro | iCResources | iCNetwork | iCCategory
- 业务模块组件化 RNMessage
- CocoaPods合并组件到主工程 Running-iOS
原则
- 基础组件尽可能不依赖基础组件。
- 业务组件只能依赖基础组件,永远不依赖业务组件。
- 业务组件提供Target_AAC..目标类公其他业务组件调用。
- 业务组件通过CTMediator+AAB_AAC分类与其他组件通讯(AAB表示当前业务组件名,AAC表示目标组件名)。
- 从主项目调用组件通过CTMediator+RN_AAC分类调用(RN表示项目前缀)
- 业务组件命名以AA开头,仅有Target_AA..,其他文件以项目前缀开头。是为了在Pods中业务组件排在最前易与区分。
- 基础组件以项目前缀开头。易于区分私有基础组件与第三方库。
- 基础组件与业务组件的platform :ios, 'x.0' 支持版本必须小于等于 主项目的 platform :ios, 'x.0'支持版本(当前库的ios 'x.0' >= 依赖的库的ios 'x.0')