美文网首页
【iOS】菜鸟进阶:组件化私有仓库搭建

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

作者: Laki只是想做一个程序猿 | 来源:发表于2021-11-21 15:40 被阅读0次

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

    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】菜鸟进阶:组件化私有仓库搭建

          本文链接:https://www.haomeiwen.com/subject/ivrktrtx.html