前言
最近想重构一下现存的代码,以前也有了解过组件化开发但是没有实际操作过,借此机会实际操作一下。
参考文章:https://www.jianshu.com/p/67a1d8385c80
https://www.jianshu.com/p/07f7854cd563
1、环境配置
最好确保你的mac上的cocoapods是最新的,我最后就是因为版本不是最新的而卡主了。
sudo gem install cocoapods -n /usr/local/bin
2、创建配置仓库
在你的版本控制网站创建一个私有仓库用来管理Spec Repo,我这里用github。
然后添加仓库到本地:
pod repo add CYXCocaPodsSpecsManager https://github.com/SionChen/CYXCocaPodsSpecsManager
成功之后就能在这个路径看到目录:
3、构建本地pod项目
建议专门创建一个文件夹来管理pod库项目,我这边用MyGitSpec文件夹,cd到该文件下面执行
pod lib create CYXLineChartView
接下来修改podspec文件如图:
以后修改的文件也要放在Classes下面:
然后用本地创建的项目和你的远程项目关联起来,我这里用sourcetree:
然后新增tag,注意新增的tag要和你的podspec的vision一致:
git tag 0.1.0
git push --tags
然后在Example文件下执行 pod update,则可发现新的文件已经出现在项目工程的pods文件夹之下了。之后git commit git push。
最后再次执行pod spec lint
向Spec Repo提交podspec
pod repo push CYXCocaPodsSpecsManager CYXLineChartView.podspec
最后验证:
pod search CYXLineChartView
妥了。
补充:
至此为止一个私有pod库已经创建完成, 如果我们想要创建公开pod库还需要:
终端输入 pod trunk push (库名).podspec,等待一段时间,出现类似下面画面
如果没有注册过会提示:
注册:
pod trunk register 邮箱 "用户名" --verbose
看到这里然后去邮箱验证,验证成功后再次执行
pod trunk push (库名).podspec
妥了。
补充2:
更新的时候先更新git上面的spec文件在更新trunk上面的。