CocoaPods 公共/私有

作者: BGoneray | 来源:发表于2017-02-17 15:10 被阅读192次

    公共pod流程

    第一步

    在github上创建一个项目例如:podDemo,把地址clone到本地,在本地的podDemo文件下新建一个iOS项目,再把项目上传到github

    第二步

    打开终端进入项目地址,输入pod spec create xxx

    图1

    如图1,本地生成一个xxx.podspec文件,如图2,这个文件是用来为CocoaPods配置信息

    图2

    第三步

    配置xxx.podspec文件

    图3

    如图3,是一些基本的信息(以下是部分的解释)

    name 是pod导入时候查询的名称,类似‘AFNetworking’

    version 版本号

    license 最好提供一个license文件,不然有些奇特的坑

    source_files 开源的文件配置,这里取 项目名称/Classes/所有文件

    第四步

    本地验证,输入 pod lib lint

    图4

    图4表示验证通过了,否则会出现各种报错信息

    第五步

    网络验证,输入pod spec lint

    图5

    如图5,出现了一个错误,读不到LICENSE文件,在文件中前往到地址Library/Caches/CocoaPods/Pods/External ,有类似 c2647c78b608c98aa2b54d4c64af29f9-05735 的文件夹下,找到自己的项目,复制一个LICENSE文件进去(我在其他项目中copy了一个LICENSE文件),创建目录结构,如图6

    图6

    然后在验证一次 ,如图7,表示验证通过了

    图7

    第六步

    验证通过后可以打tag

    git tag -m “desc” “0.0.1”

    git push —tag

    提交到CocoaPods需要一个CocoaPods的账号,在终端输入 pod trunk register 邮箱 ‘昵称’ --description=‘描述’,邮箱验证后就可以上传自己的开源框架到CocoaPods了

    第七步

    上传到CocoaPods,输入 pod trunk push xxx.podspec,等CocoaPods审核,几秒或者几分钟就完成了

    成功后搜索一下,pod search,找不到就pod setup 后在search一下

    参考文档

    http://www.jianshu.com/p/d7d1942dd3f1

    http://www.cnblogs.com/wengzilin/p/4742530.html

    私有pod流程

    具体流程跟公共流程大致相同,只是从第6步开始,上传的位置是本地的服务器,需要一个本地的地址 ,如图8

    pod repo add KMLibssh://km_ios_lib_source@10.8.8.61:22/km_ios_lib_source.git

    pod repo add 本地库名 git地址

    会在.cocoapods/repos 下生成一个 本地库名

    图8

    然后向这个库里添加私有框架

    pod repo push KMLib KMLibDemo.podspec

    成功后如图9

    图9

    然后在服务器回生成版本的文件夹,更新到本地就OK了

    开源库在本地服务器的项目结构,图10

    图10

    配置时,可以通过pod 'KMLibDemo', :git => 'ssh://km_ios_lib_source@10.8.8.61:22/km_ios_lib_source.git' 引入到项目中

    本地引入测试时可以用

    #pod 'KMLibDemo', :podspec => /Users/lyym/.cocoapods/repos/KMLib/KMLibDemo/0.0.1/KMLibDemo.podspec''

    #pod 'KMLibDemo', :podspec => /Users/lyym/Desktop/km_ios_lib_source/KMLibDemo/0.0.1/KMLibDemo.podspec''

    一般本地测试成功,网络就是可用的

    坑点

    xxx.podspec 文件在git下载后的一级目录,否则 pod install 时会报错

    [!] An unexpected version directory `KMLibDemo` was encountered for the `/Users/lyym/.cocoapods/repos/KMLib/KMLibDemo` Pod in the `KMLibDemo` repository.

    我使用网上提到的引用方式时是不成功的

    source 'ssh://km_ios_lib_source@10.8.8.61:22/km_ios_lib_source.git'

    pod 'KMLibDemo', '0.0.1'

    提示

    [!] An unexpected version directory `KMLibDemo` was encountered for the `/Users/lyym/.cocoapods/repos/KMLib/KMLibDemo` Pod in the `KMLibDemo` repository.

    也不知道为何了

    参考文档

    http://www.exiatian.com/cocoapods%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8%E5%8F%8A%E9%85%8D%E7%BD%AE%E7%A7%81%E6%9C%89%E5%BA%93/

    http://www.cnblogs.com/xiaoshuailong/p/5149001.html

    http://www.cocoachina.com/ios/20150228/11206.html

    相关文章

      网友评论

      • rapunzelyeah:私有库本地验证可以通过,但是上传到网络上pod install时会报你最后贴出的错误,当库没有子文件夹时安装正常,有子文件夹时会出现这个文件夹An unexpected version directory的错误。
        rapunzelyeah:解决方法是在本地私有repo中删除这个文件夹
      • b81efd92e693:啊 楼主好帅 ✿✿✿❀❀❀
      • 5dde245840c6:
        正在找
        刚好解决了人生难题
        楼主好帅 :cherry_blossom:
      • Burlong:文章很有帮助,后期还会持续关注博主:sunglasses:
      • cb6a0a44d122:文章很实用!会继续关注你的哦!
      • 又见一小生:干货 ! 太棒了,正需要

      本文标题:CocoaPods 公共/私有

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