美文网首页
Gitblit组件化

Gitblit组件化

作者: Joshua520 | 来源:发表于2019-11-22 10:49 被阅读0次

    1.在Gitblit上创建一个自己的远程私有索引库,用来存放私有框架的podspec文件


    image.png
    1. 创建本地的私有索引库文件夹,并与远程私有索引库进行关联

    2.1添加本地私有索引库并与远程私有库

    $ pod repo add IOSMavenSpec http://wy@dnsdk.vimedia.cn:8080/r/IOSMavenSpec.git
    
    image.png

    2.2 再次查看本地已存在的索引库

     pod repo
    

    3 在Gitblit创建一个用来存放项目基础组件的仓库IOSMaven
    参见第一步

    4 快速创建模板工程(模板来自github)

    4.1 快速创建模板测试工程 在/Users/eddy/Desktop/IOSMaven路径下

      $ cd /Users/eddy/
    
      $ pod lib create IOSMaven
    

    4.2 本地验证podspec

    pod lib lint --allow-warnings  --use-libraries --verbose
    

    验证不过的话;可以添加--verbose查看详细错误信息

    4.3 提交本地代码

    $ git status
    $ git add .
    $ git commit -m 'first commit'
    $ git remote add origin '[http://wy@dnsdk.vimedia.cn:8080/r/IOSMaven.git](http://wy@dnsdk.vimedia.cn:8080/r/IOSMavenSpec.git')
     (将本地库与远程代码仓库进行关联)
    $ git push origin master  (提交到远程仓库)
    $ git tag '0.1.0' (要与IOSMaven.podspec文件中的tag值保持一致)
    $ git push --tags(将tag提交到远程)
    

    4.4 验证远程是否正确

    pod spec lint --allow-warnings(验证远程是否正确) 
    

    5 将podspec文件提交到本地的私有索引库

    $ pod repo push IOSMavenSpec IOSMaven.podspec
    

    5 组件化
    5.1、抽离一个基础组件Tools

     spec.default_subspecs =  'Tools'  #默认组件
      
      spec.subspec 'Tools' do |ss|
        ss.ios.deployment_target = '9.0'
        ss.vendored_frameworks = 'IOSMaven/Tools/*.framework'
      end
    

    5.2、模块组件

    spec.subspec 'Ads' do |ss|
       ss.subspec 'Headline' do |hl| #头条广告
          hl.ios.deployment_target = '9.0'
          hl.vendored_frameworks = "IOSMaven/Ads/Headline/*.framework"
          hl.resource = "IOSMaven/Ads/Headline/*.bundle"
          hl.dependency 'Bytedance-UnionAD', '~>2.4.6.7'
          hl.dependency 'IOSMaven/Tools'
        end
    end
    

    加载xib资源需要制作bundle 组件化framework加载xib

    6 引用远程库

    source 'http://wy@dnsdk.vimedia.cn:8080/r/IOSMavenSpec.git' #远程私有库地址
    source 'https://github.com/CocoaPods/Specs.git' #公有库地址
    
    platform :ios, ‘9.0’
    use_frameworks!
    
    target ‘CocoaPodDemo’ do
    
      pod 'IOSMaven/Ads/Headline'
      pod 'IOSMaven/TJ/Headline'
      pod 'IOSMaven/Notice'
      pod 'IOSMaven/Activity'
      pod 'IOSMaven/Social/weixin'
      pod 'IOSMaven/AppleLogin'
    end
    

    相关文章

      网友评论

          本文标题:Gitblit组件化

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