基于GitLab创建私有库

作者: 新生的光明 | 来源:发表于2018-01-31 11:49 被阅读2146次


    两个概念:

    1.code repository是代码仓库,我们把包代码上传到这个仓库。

    2.spec repository是配置仓库,所有的配置按照包名、版本号分门别类的存放在这个仓库。这个仓库只用来存放spec文件,不存放代码。

    步骤

    第一步:制作cocopods的依赖库,也就是code repository。

    创建一个私有的project

    把仓库clone到本地  git clone xxxx(仓库地址)

    //打开隐藏文件的命令:

    defaults write com.apple.finder AppleShowAllFiles -bool true

    //关闭隐藏文件的命令:

    defaults write com.apple.finder AppleShowAllFiles -bool false

    把代码XQPhotoBrowse拖到此处,并写一个demo

    创建.podspec、LICENSE、README.md3 个文件  

    每个 Pods 依赖库必须有且仅有一个名称和依赖库名保持一致,后缀名为 .podspec 的描述文件,如PhotoLibraryTT.podspec

    .podspec创建有2种方法

    1.直接copy一份,并修改里面的内容

    2.执行pod spec create PhotoLibraryTT,创建一个新的

    Pod::Spec.new do |s|

      s.name        = "PhotoLibraryTT"

      s.version      = "1.0.3"

      s.summary      = "A short description of PhotoLibrary."

      s.homepage    = "https://xxxxx"

      s.license      = "MIT"

      s.author            = { "xx" => "x'x@qq.com" }

      s.platform    = :ios, "8.0"

      s.source      = { :git => "https://xxxx.git", :tag => "#{s.version}" }

      s.source_files  = "PhotoLibrary/XQPhotoBrowse", "XQPhotoBrowse/**/*.{h,m}"

      s.dependency 'SDWebImage'

    end

    .podspec详解

    验证podspec的有效性。

    pod lib lint 

    如果有警告,会导致无法通过,需要添加--allow-warnings

    如果使用了c函数相关的,需要添加--use-libraries

    如果依赖了私有库,需要添加库的源--sources='https://xxxx'

    pod lib lint --allow-warnings pod lib lint --sources='https://xxxx' --use-libraries --allow-warnings


    验证通过后,把代码提交到仓库即可

    git add -A && git commit -m "add pod files"

    git push origin master

    git tag -a v1.0.3 -m “1.0.3版本”  //一定要打tag

    第二步 创建并设置一个私有的Spec Repository

    在gitlab上创建一个空的仓库,命名为Specs,这个仓库是用来存放我们自己所有的私有库的spec文件,就如同官方的https://github.com/CocoaPods/Specs是用来存放所有官方的specs文件一样。

    在终端执行命令:

    pod repo add Specs http://xxx.git

    注意:上面的命令的解释如下:

    pod repo add REPO_NAME SOURCE_URL

    其中的 REPO_NAME 是我们要添加的私有repo的名称(这里我们待会填的是:Specs),后面是仓库的 gitlab 地址。这里做的其实是创建的工作,也就是在~/.cocoapods/repo目录下添加了一个以你的私有repo为名的文件夹,但是并没有添加spec文件。

    至此,我们已经在本地得到我们自己的私有仓库 Specs ,这是一个空的仓库。

    添加 刚才第四步创建的 PhotoLibraryTT.podspec 到你的 Spec Repository。

    pod repo push Specs PhotoLibraryTT.podspec

    如果有警告,会导致无法通过,需要添加--allow-warnings

    如果使用了c函数相关的,需要添加--use-libraries

    pod repo push Specs PhotoLibraryTT.podspec --use-libraries --allow-warnings

    pod search PhotoLibraryTT

    在个人项目中的Podfile中增加刚刚制作的好的Pod并使用。

    source 'https://xxxxxxx.git'  //私有库地址

    source 'https://github.com/CocoaPods/Specs.git'

    platform :ios, '8.0'

    inhibit_all_warnings!

    def default_pods

        pod "PhotoLibraryTT"

    end

    target ‘Demo’ do

        default_pods

    end


    参考资料

    创建私有 CocoaPods 仓库

    Cocoapods使用私有库中遇到的坑

    相关文章

      网友评论

        本文标题:基于GitLab创建私有库

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