搭建iOS远程私有库
组件化
为什么要组件化:
随着项目的不断迭代,各个模块会越来越复杂,各个模块相互依赖,而且每个模块可能会有共同的业务逻辑,导致整个项目维护起来比较麻烦。
可以采用组件化,把每个业务逻辑和模块分离,单独管理,这样比较方便维护,各个开发人员只需要关心好自己的模块就好了。
一、优点:
1、高内聚、低耦合的特性,可以解耦
2、组件单独开发,方便单元测试
3、分工更加明确,提高开发效率
4、复用性更好,能迅速的组成更多的App
二、如何拆分组件
1、基础组件模块(例如:封装的网络请求类、用户行为统计封装类、项目常用分类)
2、业务组件模块 (根据项目的业务情况合理划分为若干业务)
三、组件间的通信
1、url-block
蘑菇街应用的一种调用方式,通过在启动时注册组件提供服务。将所有的控制器都维护在一张路由表中,根据url寻址找到相应的额控制器
2、target-action
CTMediator
四、私有库的
1、创建HYSpec私有库(私有库的名字可以自定义),用来存放podspec文件
2、添加你的私有Repo到你的CocoaPods pod repo add HYSpec
远程私有库
1.创建Spec索引库
image2.添加远程索引库 pod repo add HYSpec URL
查看使用的索引库 pod repo
[图片上传失败...(image-9de37d-1561778876832)]
3.创建私有库
Pod lib create CategoryModule
image
image
[图片上传失败...(image-6a4d91-1561778876832)]
私有库放置的文件
image
几个注意点
image
Pod lib lint --allow-warnings #验证 pod lint
image
git init #创建git
git remote add origin https://git.oschina.net/funky_hs/myprojectbase.git #添加url
git push origin master (提交到远程仓库) #推送
Git add .
Git status
Git commit -m ‘1.0.0’
Git push origin master
Git tag ‘1.0.0’
Git push --tags
Pod lib lint --allow-warnings #验证
#前面的是第三方库索引,后面的是私有库
pod repo push HYSpec CategoryModule.podspec --verbose --allow-warnings
pod repo update
注意
1.创建远程私有库后,在本地用sourceTree拉取下来后,文件去掉文件夹
2.编译通过后才能上传成功。注意文件路径
3.更新索引库使用命令pod repo update
4.要删除文件replaceMe
5.在demo文件中可以执行pod install命令来使用第三方库
6.第三方库上传成功后,在引用库的地方使用命令source 'https://gitee.com/tartar/HYSpec.git'
bug
1.问题描述:推送私有库时,报错:[!] The repo
MySpecs
at../../../.cocoapods/repos/HYSpec
is not clean
解决方法:
cd ~/.cocoapods/repos/HYSpec
git clean -f