美文网首页
iOS组件化1 之 创建远程私有仓库

iOS组件化1 之 创建远程私有仓库

作者: csii993 | 来源:发表于2019-04-30 14:42 被阅读0次
    一、创建私有索引库
    二、本地添加私有索引库
    三、创建组件库
    四、上传组件代码
    五、提交podspec到私有索引库

    一、创建私有索引库

    我们用码云作为私有库,创建一个名为:LGSpecs的私有库
    创建私有索引库.png

    二、本地添加私有索引库

    1、查看本地索引库
    pod repo
    
    查看本地索引库.png
    2、添加私有索引库
    将我们刚刚新建的私有索引库LGSpecs添加到本地
    // pod repo add 索引库名称 索引库地址
    //xxx:为码云用户名
    pod repo add LGSpecs https://gitee.com/xxx/LGSpecs.git
    

    三、创建组件库

    在码云上创建组件库LGBase为例
    创建基础组件库.png
    1、快速创建模板库
    找一个位置创建一个文件以LGBase为例,进入文件夹执行如下命令
    // pod lib create 组件名
    pod lib create LXFBase
    
    执行命令之后会让你配置一些信息,如图
    配置信息.png
    2、添加组件内容
    创建完成后会自动帮我们打开相应的Example项目,LXFBase目录中会出现如图文件,到基础组件相关的类拷贝到Classes文件夹中,并且把ReplaceMe.m文件删除
    拷贝组件库类文件.png
    3、安装与测试本地库
    Example项目中的Podfile文件中可以看到
    pod 'LGBase', :path => '../'
    
    终端进入Example文件夹,执行如下命令
    pod install
    
    安装成功后,并测试
    4、修改Spec
    打开项目的LGBase.podspec文件,配置下面的信息
      s.name             = 'LXFBase' #组件库名称
      s.version          = '0.1.0'   #组件库版本
      s.summary          = 'LXFBase.'
      s.description      = <<-DESC
    LXFBase是基础组件库,包括分类和常用工具
                           DESC      #组件库描述
      s.homepage         = 'https://gitee.com/LinXunFeng/LXFBase'#组件库地址
      s.source           = { :git => 'https://gitee.com/LinXunFeng/LXFBase.git', :tag => 
      s.version.to_s }#组件库git地址
      s.source_files = 'LXFBase/Classes/**/*'
      s.dependency 'AFNetworking', '~> 2.3'#配置组件库的依赖库
    

    四、上传组件代码

    1、将代码提交到组件仓库
    进入LGBase文件夹
    git add .
    git commit -m 'firstCommit'
    git remote add origin https://gitee.com/xxx/LGBase.git
    // 第一次push如果报错的话可以加上-f
    // git push -f origin master
    git push origin master
    
    2、打标签
    标签0.1.0与spec中的s.version保持一致
    git tag '0.1.0'
    git push --tags
    

    五、提交podspec到私有索引库

    在上传spec文件前我们可以做一个验证来节省时间
    1、本地验证Spec的必选字段
    // 本地验证不会验证 s.source 中的tag
    pod lib lint --private
    
    成功提示:LGBase passed validation.
    2、远程验证
    // 远程验证会验证 s.source 中的tag,如果此时没有打上相应的标签则会报错
    pod spec lint --private
    

    如果你刚才没有打标签并上传至远程私有库就来进行远程验证,肯定是会报错的

    成功提示:LSBase.podspec passed validation.
    3、提交podspec
    // pod repo push 私有索引库名称 spec名称.podspec 
    pod repo push LGSpecs LGBase.podspec 
    
    查看码云私有索引库LGSpecs已经存在LGBase组件

    参考:https://juejin.im/post/5ac5d5abf265da2396129e63

    相关文章

      网友评论

          本文标题:iOS组件化1 之 创建远程私有仓库

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