美文网首页iOS
CocoaPods创建公有和私有Pod库方法总结

CocoaPods创建公有和私有Pod库方法总结

作者: summer201704 | 来源:发表于2017-11-12 15:37 被阅读0次

    目录

    创建公有pod库

    1.注册CocoaPods账户信息

    注册

    pod trunk register 邮箱地址  '用户名' --verbose
    
    接下来注册的邮箱地址会收到https://trunk.cocoapods.org/sessions/verify/xxxxx的验证地址,打开就算是注册成功。
    

    查看注册信息,以后当你有了自己的开源Pod库, 也可以用此方式随时查看自己发布过的Pods;

    pod trunk me
    

    2.创建共享库文件并上传到公有仓库

    1.如果自己新建的库,可以用下面代码创建

    pod lib create 库名
    

    之后通过git push或者sourceTree提交到你的git上,注意增加MIT文件。

    2.如果已经有了代码

    • 需要在git上新建工程,如下图


      image.png
    • clone工程
    • 可以通过如下代码创建podspec文件
    pod spec create 库名.podspec
    

    当然也可以把别的地方的podspec拖进来修改一下。

    • 把这些修改提交到git上

    这一步需要注意自己创建的库名不要和CocoaPod上的库名重复了。否者后面会报

    [!] You (xxxx) are not allowed to push new versions for this pod. The owners of this pod are xxx@gmail.com.
    

    可以先在 CocoaPods官网查询后,在确定用什么库名。

    3.编辑.podspec文件

    以下几处地方需要注意的:

    homepage和license
    homepage和license.png
    source和source_files
    source和source_files.png

    注意source要使用https。之前遇到过一个坑,报了一个

    "Source code for your Pod was not accessible to CocoaPods Trunk. Is it a private repo or behind a username/password on http?"错误。
    

    就是因为source填写了git:xxx后来换成https就好了。
    同时source_file也要用图片中的格式去写。

    验证podspec的正确性:

    pod lib lint xxxx.podspec --allow-warnings
    

    如果依赖了自己的库需要使用source的方式验证

    pod spec lint --sources='私有仓库repo地址,https://github.com/CocoaPods/Specs'
    

    如果看到
    xxxx passed validation.
    就表示成功了
    代码提交到git上

    4.打tag, 发布一个release版本

    git tag -m 'first release' '0.1.0'
    git push --tag #推送tag到远端仓库
    

    成功之后即可在你的releases里面看到这个tag的版本.

    5.发布自己的库描述文件podspec给cocoapods

    pod trunk push xxxx.podspec --allow-warnings
    

    如果看到


    image.png

    说明已经提交给CocoaPods审核了。接下来就是等。

    6.pod setup和pod search 库名

    如果始终无法search到。可以参考如下方法:
    在终端输入:

    rm ~/Library/Caches/CocoaPods/search_index.json
    

    ~/Library/Caches/CocoaPods/search_index.json文件, 是用来查找的索引文件的,在pod setup生成。
    删除~/Library/Caches/CocoaPods目录下的search_index.json文件, 删除成功后再执行:pod search 库名, 等待输出:Creating search index for spec repo 'master'.. Done! 稍等片刻就会出现你想要的结果~

    7.更新维护podspec

    如果有错误或者需要迭代版本,修改工程文件后推送到远端仓库后, 需要修改podspec中的版本号, 并重新打tag上传, 再进行新一轮的验证和发布, 当然, 创建一个演示demo工程供其他开发者下载查看并不会影响我们的pod库。

    创建私有Pod库

    私有Pod库和公有Pod库的创建方式没有什么区别, 不一样的是管理他们的spec repo不一样

    所以我们需要自己创建一个跟CocoaPods/Specs类似的仓库来管理内部创建的Pod库的podspec文件, 供内部人员更新和依赖使用内部Pod组件库。
    私有repo的构建形式有两种, 一种是私有git服务器上面创建,一种是本机创建。
    本机创建请参考官方文档:Private Pods,
    这里介绍的是在公司内部搭建的git服务器上面创建整个服务的方式。

    1.创建一个git仓库用来做内部私有库的Spec Repo

    在私有服务器创建一个仓库,一个用来存放所有共享库的podspec, 这里创建好之后的内部SSH协议地址是:git@git.xxxx:iOSPods/xxx.git, 花钱买git的私有仓库或者使用其他免费的第三方git服务(如Bitbucket等)创建的私有仓库给到的http/https地址也一样.终端输入命令:

    pod repo add PodSpec git@git.xxxx:iOSPods/xxx.git
    

    将PodSpec添加到本地repo, 添加成功后可以在/.cocoapods/repos/目录下可以看到官方的specs:master和刚刚加入的specs:PodSpec

    2.创建私有Pod组件库

    这一步跟上面创建共有pod库方式是一致的。即创建git工程,podspace文件,pod lib lint , 打tag 。但不是用trunk方式提交到master上

    3.然后将podspec加入私有Sepc repo中

    公有库使用trunk方式将.podspec文件发布到CocoaPods/Specs, 内部的pod组件库则是添加到我们第一步创建的私有Spec repo中去, 在终端执行:

    pod repo push PodSpec名称  Demo.podspec
    

    添加成功之后PodSpec中会包含新建Demo库的podspec信息, 可以前往~/.cocoapods/repos下的PodSpec文件夹中查看, 同时git服务器中的远端也更新了.

    4.查找和使用内部组件库

    执行pod search Demo库 就能查到刚刚创建好的库了,然后在想要使用此组件的工程的Podfile中加入pod 'Demo', '~>0.0.1'即可使用内部组件啦!
    值得注意的是:必须在Podfile前面需要添加你的私有Spec repo的git地址source, pod install时, 才能在私有repo中查找到私有库, 像这样:

    source 'git@git.xxx.net:iOSPods/PodSpec.git'
        
        platform :ios, '7.0'
        target "test" do
            pod 'Demo', '~>0.0.1'
        end
    

    相关文章

      网友评论

        本文标题:CocoaPods创建公有和私有Pod库方法总结

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