简介
本篇文章主要是针对苹果端组件化的思想讲解,从零开始一步一步教你如何实现组件化,本章介绍如何创建远程索引库和本地索引库。
组件化目的
第一:让你轻松调用团队其他成员的组件,分离依赖性比较强的模块。
第二:降低维护成本,各人维护各人模块,互不影响。
比如你写了一个下拉菜单控件,你封装后,其他人如果想调用,一般采用的办法是把你封装的代码拿过来,导入到项目中,现在采用组件化就是封装后上传到第三方托管处(可加密可公开),用Cocopod直接在podfile中导入文件名称,更新,就可以使用该模块。
具体实现步骤 :
1 登录你的码云账号 或者Github账号
2 创建项目如下图:
3 复制远程索引库地址HTTPS或者SSH地址 使用SSH的方式 需要在仓库添加你的公钥,如何添加请参考以下博客:
如何添加公钥: ...
4 终端进入你的项目文件
1 cd 你的项目主目录绝对路径
2 pod lib create XX
注意 :
1 xx 你自己封装的组件模块名称
2 你的项目主目录是指和你项目同级的目录
示例:
5 打开终端,将远程私有库关联到本地
1 cd 你的项目绝对路径
2 pod repo add XXSpec 粘贴你刚才复制的https地址
示例:
注意 :
1 项目绝对路径 可以采用拖拽的方式直接添加到终端
2 上述命令执行完后可以进入 /用户/XX/.cocoapods/repos
可以发现多了一个LTSpec文件夹,这里就是我们用来存放组件的.podSpec文件的。
6 将自己封装的模块拷贝到创建的模板工程中
示例:
7 修改组件的.podSpec文件 可用编辑器打开
示例:
内容解释
// 设置名称
s.name = "Test"
// 设置版本号
s.version = "0.0.1"
// 设置摘要
s.summary = "A short description of HttpManager."
// 设置详情
s.description = "Good"
// 设置仓库主页
s.homepage = ""
// 设置许可证
s.license = "MIT"
// 设置作者
s.author = { "iThinkerYZ" => "690423479@qq.com" }
// 设置仓库源,表示在哪可以找到组件工程
s.source = { :git => "", :tag => "#{s.version}" }
// 设置 源文件路径 => 不是整个工程的文件,而是自己封装的代码,以后别的工程引入,就会引入这里的代码。
s.source_files = "HttpManager/Classes/**/*.{h,m}"
// s.dependency = '' 组件工程依赖哪些第三方框架
// s.frameworks = 'UIKit', 'MapKit' 组件工程依赖哪些原生框架
// s.resource_bundles = {} 组件工程图片资源
注意:这里面的 仓库源一定有填写正确,否则后续会提交不成功!
8 终端命令
1 cd 你的封装模块文件夹
2 git add .
3 git tag '0.1.0'
4 git remote add origin *SSH地址*
5 git push -u origin master
6 git push --tag
9 对文件进行本地验证和远程验证
1 pod lib lint --private
2 pod repo push LTSpec Test.podspec
3 pod search Test
注意:
1 安装两个Xcode的会遇到错误提示
解决方案:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
10 将验证通过的.podSpec文件加入到本地私有索引库,并上传到远程私有索引库
示例: