【iOS】菜鸟进阶:组件化私有仓库搭建

我们这里选择是【码云】进行我们组件化的搭建

https://gitee.com/

点击【+】号创建远端仓库

image.png

搭建本地仓库 进行连接远端仓库

1.进入CocoaPods repos文件目录下 cd /Users/主机名/.cocoapods/repos 
2.连接远程仓库 pod repo add MyModuleSpec(自定义本地仓库的名字) https://gitee.com/xxxx/my-module-spec.git(大家可以去自己仓库目录下复制HTTPS路径)
3.由于我们没有设置gitee账号,要求我们输入账号密码即可
4.输入完后我们即可查看到我们创建的ModuleSpec本地仓库

在去创建我们对应的组件

1.在码云上创建 ModuleCarToolLib

接下来我们进行创建第三方库(组件化模块库)

1.我在桌面创建【Module】文件夹,cd 进去
2.pod lib create ModuleCarToolLib(库名称)
3.What platform do you want to use?? [ iOS / macOS ]  回答【iOS】
4.What language do you want to use?? [ Swift / ObjC ]  你是用什么语言开发 自选【ObjC】
5.Would you like to include a demo application with your library? [ Yes / No ] 是否愿意添加一个实例工程到第三方库中 自选【Yes】
6.Which testing frameworks will you use? [ Specta / Kiwi / None ] 是否要用到测试框架 自选【None】
7.Would you like to do view based testing? [ Yes / No ] 是否做视图测试 自选【No】
8.Possible answers are [ Yes / No ] 自选【Yes】
9.What is your class prefix? 你的类前缀是什么 自选【CM】

创建完我们第三方库 会自动打开该工程

1.前往Pods/Development Pods/ModuleCarToolLib文件夹下 修改ReplaceMe.m名称 并创建同名的.h

将本地工程和远程仓库关联

1.git init
2.touch README.md
3.git add README.md
4.git commit -m "first commit"
5.git remote add origin https://gitee.com/xxxx/module-mall-tool-lib.git
6.git push -u origin master 

Push前需要设置的参数

1.找到对应名称下的XXXXX.podspec文件
2.s.version                = '0.1.0' 版本号
3.s.description            = <<-DESC  注解说明  DESC
4.s.homepage               = '主页地址,可以是博客、'
5.s.source                 = { :git => 'xxxx.git', :tag => s.version.to_s }上传的地址
6.s.ios.deployment_target  = '13.0'  开发支持的版本号
7.s.dependency 'AFNetworking', '~> 4.0.1' 依赖CocoaPods上的第三方
8.s.xcconfig = { 'HEADER_SEARCH_PATHS' => "$(SRCROOT)/AFNetworking/AFNetworking/" } CocoaPods会在引入私有库时自动在你的私有库中Header Search Paths 中加入$(SRCROOT)/AFNetworking/AFNetworking/ 方便私有库找到相对应的第三方路径

Push代码到远程仓库,打Tag 版本隔离

1.进入ModuleCarToolLib.podspec同级目录下
2.【git add .】【git commit -m '注释'】【git push】将代码上传
3.git tag '0.1.0'
4.git push --tags  

检查版本是否能上传

1.pod lib lint
2.打标签 远端必须有0.1.0的tag 才能用下面一句更新
    ModuleCarToolLib目录中【git tag '0.1.0'; git push --tags】
3.将我们的组件推到我们自己创建的索引页中
    pod repo push MyModuleSpec ModuleCarToolLib.podspec  --allow-warnings 
4.最后版本都完成后给索引仓库打个标签Push
    MyModuleSpec目录中【git tag '0.1.0'; git push --tags】
5.依赖第三方库使用这个Push方法
    pod repo push MyModuleSpec ModuleCarToolLib.podspec --sources=https://github.com/CocoaPods/Specs --verbose --use-libraries --allow-warnings 

在索引库 MyModuleSpec 目录下就可以看到我们版本号了

1.pod search ModuleCarToolLib 就可以搜索我们自己的私有库
2.如果搜不到 我们把缓存清一清 rm ~/Library/Caches/CocoaPods/search_index.json
3.或者更新相对应得索引库 pod repo update MyModuleSpec

使用CocoaPods安装我们本地库

1.进入工程目录下 pod init
2.填写 source '索引库地址'
3.pod 'ModuleMallToolLib', '~> 0.1.0'

删除Tag

1.git tag -d '0.3.1' 删除本地Tag
2.git push origin :0.1.0 删除远程Tag

更新私有索引库

1.pod repo update MyModuleSpec(这是个索引库,你可以替换成自己的)

创建的工程找到私有路的相对路径

1.$(PROJECT_DIR) --> /xxxx/xxx/工程名/Example 只能找到这一层 然而我们的私有库是和Example同级所以
2."$(PROJECT_DIR)/..//CTBCarModuleToolLib/Classes/Define/"

你可能感兴趣的:(【iOS】菜鸟进阶:组件化私有仓库搭建)