美文网首页
cocoapods使用教程2:git私有库

cocoapods使用教程2:git私有库

作者: SuperJJ | 来源:发表于2017-09-14 15:59 被阅读0次

    在上一小节开发打包静态动态库中,已经介绍了怎么打包成一个framework的库,在这小节就来介绍不打包成framework,使用cocoapods来管理自己的私有组件。
    其实怎么开发私有组件,跟上一小节讲的都一样,只不过最后不用打包,通过cocoapods来引用私有库,跟引用第三方开源库是一样的。

    1、创建私有的CocoaPods索引仓库(Specs Repo)

    这里我们先去开源中国创建一个私有的Git仓库,用来专门存放私有组件的Spec。复制git的https链接,打开终端,输入命令,添加repo,因为是私有仓库,所以会叫你输入用户名和密码。

    pod repo add 私有Repo名字 GitURL
    pod repo add TestSpecs https://git.oschina.net/Test/TestSpecs.git
    

    添加完成后,使用命令可以查看cocoapods的所有仓库,是否存在我们新添加的

    pod repo list #或者
    pod repo
    

    2、创建lib

    创建lib这一步其实大多步骤跟之前讲的一样,只要不同的就是需要提交到远程仓库,主要还是要修改 ".,podspec"文件。
    首先我们还是需要在开源中国创建一个私有的Git仓库,用来存放我们lib的代码。创建好私有的Git仓库,复制链接到Sourcetree克隆到本地。然后使用命令在终端pod lib create LibName创建初始化自己的lib。把创建出来的项目文件,除了.git文件夹之外复制到服务器端的文件夹内,提交push到远端服务器,这样服务器和本地的lib项目就关联了。
    接下来就是开发lib完成,然后修改 "
    .,podspec"文件,跟之前的主要不同点就是

    s.source           = { :git => 'https://git.oschina.net/Test/test.git', :tag => s.version.to_s } #更改为服务器的git地址
    s.version          = '0.1.0'#版本号更改
    

    3、pod 验证 ,提交代码

    当自己的lib开发完成,用xcode能编译通过,则就使用命令pod lib lint验证项目是否符合cocoapods,验证通过则提交到git,然后添加tag,tag的名字就是版本号(s.version),最后推送到服务器上。

    4、提交lib的podspec文件到SpecsRepo

    终端切换到lib的目录,输入命令

    pod repo push 私有索引仓库 LibName.podspec --allow-warnings #这里也可以加上参数忽略警告,要不然提交不上去
    
    @提交podspec文件

    提交成功后,使用命令pod search LibName搜索,就可以看到刚刚提交的lib信息。

    5、项目中集成Lib

    到了这一步其实就跟我们平时使用pod集成开源的第三方库一样了,在Podfile文件中输入 pod '自己私有lib名字',然后在pod install就可以集成到项目中了。
    如果遇到问题[!] Unable to find a specification for “LibName”,就在Podfile文件中增加source再执行pod install 命令

    # Uncomment the next line to define a global platform for your project
    platform :ios, '8.0'
    source 'https://git.oschina.net/Test/TestSpecs.git'#自己的私有仓库
    source 'https://github.com/CocoaPods/Specs.git'#官方仓库
    target 'Test' do
      # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
      # use_frameworks!
    
      # Pods for Test
      pod 'libname'#集成自己的lib
    end
    

    6、如果不使用私有索引仓库,其他集成命令

    #使用仓库中的master分支
    pod 'LibName', :git => 'https://git.oschina.net/Test/test.git'
    #使用仓库的某个tag
    pod 'LibName', :git => 'https://git.oschina.net/Test/test.git', :tag => '0.1.0'
    #使用podspec(可以是本地路径也可以是网络的)
    pod 'LibName', :podspec => 'https://example.com/JSONKit.podspec'
    

    其实我觉得也不用这么麻烦管理那么多索引仓库,直接使用podspec文件集成就好,把编写好的podspec文件跟随项目提交到git不就可以了吗?

    参考:使用CocoaPods创建私有Spec Repo管理项目公共组件

    相关文章

      网友评论

          本文标题:cocoapods使用教程2:git私有库

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