美文网首页
iOS CocoaPods私有库

iOS CocoaPods私有库

作者: 圣艾修 | 来源:发表于2020-12-29 11:51 被阅读0次

    前提条件

    • pod环境

    • 代码仓库

    仓库以Coding为例,建立团队什么按下不表。

    1.配置sshKey

    1.png

    2.新建项目

    2.png 3.png 4.png

    3.新建索引仓库

    5.png 6.png

    4.新建库/代码仓库

    7.png

    5.搭建本地的私有索引库

    首先把刚刚新建的私有库克隆到本地

    git clone https://e.coding.net/livermorecoding/liver/LiverSpec.git

    (地址换成自己的,记住是存放索引这个)

    添加本地索引库

    pod repo add LiverSpec https://e.coding.net/livermorecoding/liver/LiverSpec.git

    (LiverSpec 为 repo的名,如CocoaPods自带的master)

    查看是否添加成功了

    pod repo

    可以查看到刚刚我们添加的LiverSpec索引库了

    LiverSpec

    6.搭建Pod私有库所需要的项目工程

    先克隆仓库到本地

    git clone https://e.coding.net/livermorecoding/liver/LiverLib.git

    (地址换成自己的,记住是存放自己想要存放pod引用文件的这个库)

    再自己找一个目录,通过CocoPods的官方命令创建Pod项目工程

    以我为例,cd 到podlib目录

    8.png

    执行以下命令

    pod lib create LiverLib

    (LiverLib为工程名字)

    9.png

    其中prefix是文件的前缀,你可以通过打开Example目录查看其中的类文件,你会发现所有的类都加上了这个前缀,如AppDelegate变成了LIVERAppDelegate。

    初始化完成后会自动打开工程。

    6.替换文件

    打开LiverLib-> Classes 目录,把ReplaceMe.m文件替换成你想要pod引用的文件,可以是一个framework,或者.h.m.a等文件。

    例如我在这里存放了两个基类

    10.png

    7. 修改.podspec

    Pod::Spec.new do |s|
     s.name             = 'LiverLib'
     s.version          = '0.1.0'
     s.summary          = 'description of LiverLib.'
    ​
    # This description is used to generate tags and improve search results.
    #   * Think: What does it do? Why did you write it? What is the focus?
    #   * Try to keep it short, snappy and to the point.
    #   * Write the description between the DESC delimiters below.
    #   * Finally, don't worry about the indent, CocoaPods strips it!
    ​
     s.description      = <<-DESC
    TODO: Add long description of the pod here.
                          DESC
     # homepage要有效
     s.homepage         = 'https://www.baidu.com'
     # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
     s.license          = { :type => 'MIT', :file => 'LICENSE' }
     s.author           = { 'zh' => '949077140@qq.com' }
     # source是之前要做的pod的引用库地址
     s.source           = { :git => 'https://e.coding.net/livermorecoding/liver/LiverLib.git', :tag => s.version.to_s }
     # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
    ​
     s.ios.deployment_target = '9.0'
    ​
     s.source_files = 'LiverLib/Classes/**/*'
    

    8.校验LiverLib.podspec 是否有效

    pod lib lint LiverLib.podspec --sources=https://cdn.cocoapods.org/,https://e.coding.net/livermorecoding/liver/LiverSpec.git

    这里需要添加--sources,指明校验的源为自己的spec索引库

    11.png

    9. 关联远程仓库

    把通过pod lib create 建立的模板工程的.git 文件替换为第四部创建的自己使用的pod引用库.git文件,目的在于关联当前的项目到私有库。

    我这里是podlib下的LiverLib工程.git 替换为与podlib同级的LiverLib下的.git文件。

    10. 提交工程,打tag

    cd到模板工程,提交代码,并打tag,注意版本的一致性,git tag 版本和LiverLib.podspec中的版本一致

    git add --all

    git commit -m"工程提交"

    git push

    git tag "0.1.0"

    git push --tags

    结果查看

    12.png

    11.添加自己的spec source

    pod repo add LiverSpec https://e.coding.net/livermorecoding/liver/LiverSpec.git

    LiverSpec为pod repo 查看到的我们自己新建的repo名称,后面地址为私有的spec仓库

    12. 把本地的私有库推送到远程

    pod repo push LiverSpec LiverLib.podspec --sources=https://cdn.cocoapods.org/,https://e.coding.net/livermorecoding/liver/LiverSpec.git

    查看效果

    13.png 14.png

    12.验证一把

    方式一:

    pod search LiverLib

    方式二:

    新建工程,修改podfile文件

    source 'https://cdn.cocoapods.org'
    source 'https://e.coding.net/livermorecoding/liver/LiverSpec.git'
    ​
    use_frameworks!
    ​
    platform :ios, '10.0'
    target 'PodApp' do  
    pod 'LiverLib', '0.1.0'
    ​
    end
    

    pod install

    15.png

    相关文章

      网友评论

          本文标题:iOS CocoaPods私有库

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