本文只讲解一下 pod组件化执行步骤
组件化大体思路
框架说明
继续集成:一个主工程(壳工程),包含所有的内容(整个项目),用于发包或打包测试。
基础组件: 不依赖其他任何组件,独立完成功能。主要有:与业务无法的功能(如string或data的加密,category的封装)对第三方库的封装(如AFNetworking,SDWebImage的封装)
业务公用组件:依赖基础组件或UIKit等系统组件,创建业务共同使用的功能(如分享,支付,网络访问)
中间组件:连接业务公用组件和业务组件,及业务组件之间的互相调用。(如Mediator的组件)
业务组件:单独的业务功能,不依赖其他业务组件。
组件化流程
1.在git库中创建自己的代码库和pod文件依赖库 记得添加LICENSE文件 我这里用了开源中国 码云 git库
2. 把代码库git clone到本地 这里借用了SourceTree工具
3 创建一个demo 用来演示组件的用法 创建完挪到chone到本地的代码库中
4 把自己写的组件git库的最外层 必须保证运行无误
5 创建pod所对应的podspec文件 终端cd到本地git代码库pod spec create JZBLib_iOS 创建完成后 用xcode查看(把文件拖到Xcode 即可)
6 把里边的内容都删了 复制一套模版即可 里边内容不明白啥意思的自行百度
s.version = '0.0.1'
s.summary = 'ios
基础库
'
s.description = <<-DESC
TODO: Add long description of the pod here.
DESC
s.homepage = '
s.license = { :type => 'MIT', :file => 'LICENSE' }
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仓库中创建版本0.01版本 跟podspec文件对应 把代码上传到git代码库
8 cd到本地代码库pod lib lint --allow-warnings查看版本库检查是否存在
9 pod spec lint --use-libraries继续监测spec合法性
10 pod repo push JZBLib_podspecsJZBLib_iOS.podspec把space文件传到自己创建的space仓库
11 pod searchJZBLib_iOS
参考网址