创建自己的CocoaPods的Spec仓库
来源:互联网 发布:iphone直播软件 编辑:程序博客网 时间:2024/05/22 08:28
最近在研究CocoaPods用来管理公共代码和依赖库,在网上看了一些博文,有介绍CocoaPods的入门使用,Spec文件的制作以及使用私有的Spec文件和依赖本地包。本文将介绍如何创建自己的Spec仓库,如果还不知道CocoaPods的使用和Spec文件的编写,可以阅读以下几篇博文:
用CocoaPods做iOS程序的依赖管理
http://blog.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/
《如何编写一个CocoaPods的spec文件》
http://ishalou.com/blog/2012/10/16/how-to-create-a-cocoapods-spec-file/
《Cocoapods 入门》
http://studentdeng.github.io/blog/2013/09/13/cocoapods-tutorial/
CocoaPods进阶:本地包管理
http://www.iwangke.me/2013/04/18/advanced-cocoapods/
通过上面几篇博文,我们可以为自己的代码库编写spec文件,并且有以下四种方法来使用我们的spec文件:
第一种:将spec文件放到本地一个目录中,在podfile文件中使用以下方法依赖
pod 'versionlib', :podspec => '/Users/cvte/Gitlab/xcversionmanger/versionlib.podspec’
第二种:将spec文件放在git上,在Podfile文件中使用以下方法依赖
pod 'versionlib', :git => 'http://x.gz.cvte.cn/chenshuanglong/xcversionmanger.git'
第三种:将spec文件放在一个目录下,在Podfile中使用以下方法进行依赖,该种方法和第一种方法区别在于pods将忽略spec文件的s.source项,也就是说使用这种方法,pods将不会去指定的源地址拉取源码,而是使用到指向的目录下获取源码,并且源码文件不会被拷贝到项目的Pods目录下,而是以引用的方法加入项目工程中。如果是多人开发,使用这种方法,其他开发人员将无法获取指定的源代码。
pod'versionlib',:path=>'/Users/cvte/Gitlab/xcversionmanger’
第四种:将spec文件放到cocoaPods的搜索目录下,pods在安装时会从CocoaPods的官方github上拉取所有的spec文件,并保存在~/.cocoapods目录下,我们可以在cocoapods的子目录repos/master/Specs下创建一个我们自己的项目并且spec放在该目录下:
repos/master/Specs/versionlib/0.0.4
其中目录versionlib名字必须和spec中的名字一致,后面0.0.4就是版本号,这样就可以在Podfile文件中使用以下方法进行依赖
pod versionlib 0.0.4
通过上述几种方法可以满足我们基本的需求,前三种podspec文件分散,不便于管理,使用个人的代码库比较方便。第四种方式在多人合作时,每个人都必须手动去生成相关的目录,如果podspec文件较多时管理将更麻烦。下面将介绍如何将我们的podspec文件进行统一的管理,做到类似官方形式的posec仓库。
我们将所有podspec文件按照第四种方法进行组织,放在gitlab上,当然你也可以放在其他平台上,这里我放在公司内部gitlab上,目录结构如下:
执行完成之后pod将会从git上clone podspec文件列表,保存在master同级目录下,这样的话就可以使用第四种方法去依赖私有库,podspec文件的维护,大家可以使用git去管理,也可以使用pod提供的命令去管理。
使用pod命令管理主要是使用pod repo命令如下:
pod repo push REPO_NAME SPEC_NAME.podspec
执行该命令,pod将首先进行podspec文件验证,如果验证通过后,才会上传到git仓库中,如果没有权限则要输入用户名和密码。该命令会再git项目的根目录,创建以SPEC_NAME为名字的目录,并按版本号创建子目录,如果版本不同,则会创建对应的版本目录。这个过程不像上面使用git方式需要自己创建版本目录。
个人推荐使用官方的pod repo命令进行仓库的管理,在git创建项目之后将项目组的其他人员加入到项目即可,这样大家就可以向podspec仓库提交podspec文件了。这里需要注意的是,在使用时,pod将优先查找自定义的仓库,在去查找master仓库,所以要注意podspec文件不要和网络上的冲突,最好在库名字前加入私有的前缀。
用CocoaPods做iOS程序的依赖管理
http://blog.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/
《如何编写一个CocoaPods的spec文件》
http://ishalou.com/blog/2012/10/16/how-to-create-a-cocoapods-spec-file/
《Cocoapods 入门》
http://studentdeng.github.io/blog/2013/09/13/cocoapods-tutorial/
CocoaPods进阶:本地包管理
http://www.iwangke.me/2013/04/18/advanced-cocoapods/
通过上面几篇博文,我们可以为自己的代码库编写spec文件,并且有以下四种方法来使用我们的spec文件:
第一种:将spec文件放到本地一个目录中,在podfile文件中使用以下方法依赖
pod 'versionlib', :podspec => '/Users/cvte/Gitlab/xcversionmanger/versionlib.podspec’
第二种:将spec文件放在git上,在Podfile文件中使用以下方法依赖
pod 'versionlib', :git => 'http://x.gz.cvte.cn/chenshuanglong/xcversionmanger.git'
第三种:将spec文件放在一个目录下,在Podfile中使用以下方法进行依赖,该种方法和第一种方法区别在于pods将忽略spec文件的s.source项,也就是说使用这种方法,pods将不会去指定的源地址拉取源码,而是使用到指向的目录下获取源码,并且源码文件不会被拷贝到项目的Pods目录下,而是以引用的方法加入项目工程中。如果是多人开发,使用这种方法,其他开发人员将无法获取指定的源代码。
pod'versionlib',:path=>'/Users/cvte/Gitlab/xcversionmanger’
第四种:将spec文件放到cocoaPods的搜索目录下,pods在安装时会从CocoaPods的官方github上拉取所有的spec文件,并保存在~/.cocoapods目录下,我们可以在cocoapods的子目录repos/master/Specs下创建一个我们自己的项目并且spec放在该目录下:
repos/master/Specs/versionlib/0.0.4
其中目录versionlib名字必须和spec中的名字一致,后面0.0.4就是版本号,这样就可以在Podfile文件中使用以下方法进行依赖
pod versionlib 0.0.4
通过上述几种方法可以满足我们基本的需求,前三种podspec文件分散,不便于管理,使用个人的代码库比较方便。第四种方式在多人合作时,每个人都必须手动去生成相关的目录,如果podspec文件较多时管理将更麻烦。下面将介绍如何将我们的podspec文件进行统一的管理,做到类似官方形式的posec仓库。
我们将所有podspec文件按照第四种方法进行组织,放在gitlab上,当然你也可以放在其他平台上,这里我放在公司内部gitlab上,目录结构如下:
执行完成之后pod将会从git上clone podspec文件列表,保存在master同级目录下,这样的话就可以使用第四种方法去依赖私有库,podspec文件的维护,大家可以使用git去管理,也可以使用pod提供的命令去管理。
使用pod命令管理主要是使用pod repo命令如下:
pod repo push REPO_NAME SPEC_NAME.podspec
执行该命令,pod将首先进行podspec文件验证,如果验证通过后,才会上传到git仓库中,如果没有权限则要输入用户名和密码。该命令会再git项目的根目录,创建以SPEC_NAME为名字的目录,并按版本号创建子目录,如果版本不同,则会创建对应的版本目录。这个过程不像上面使用git方式需要自己创建版本目录。
个人推荐使用官方的pod repo命令进行仓库的管理,在git创建项目之后将项目组的其他人员加入到项目即可,这样大家就可以向podspec仓库提交podspec文件了。这里需要注意的是,在使用时,pod将优先查找自定义的仓库,在去查找master仓库,所以要注意podspec文件不要和网络上的冲突,最好在库名字前加入私有的前缀。
0 0
- 创建自己的CocoaPods的Spec仓库
- 制作自己的CocoaPods Spec
- 创建自己的Cocoapods
- Cocoapods私有仓库的创建和使用
- 创建自己的Cocoapods库
- CocoaPods创建自己的pod
- CocoaPods创建自己的pod
- 创建自己的CocoaPods库
- 创建自己的YUM仓库
- 创建自己的yum 仓库
- 创建自己的pod仓库
- 如何编写一个CocoaPods的spec文件
- 如何编写一个CocoaPods的spec文件
- 如何编写一个CocoaPods的spec文件
- 如何编写一个CocoaPods的spec文件
- 手把手教你构建自己的CocoaPods仓库
- 配置自己的spec文件
- CocoaPods 公有仓库的创建过程的问题
- Struts2文件上传(二) 深入FileUploadInterceptor
- vmware下如何使用nfs下载程序到开发板
- WSGI
- 第七周项目4 “撞错”体验
- mongodb update 高级
- 创建自己的CocoaPods的Spec仓库
- Linux内核4级页表的演进
- 【菜鸟linux教程】linux下gcc执行cpp或者c文件(持续添加新内容)
- 配置环境变量
- iOS7下隐藏status bar的详细研究
- 斯坦福大学机器学习——支持向量机(2)
- zookeeper+dubbo+dubbo管理集群的简要配置[单机]
- hbase0.96 AggregateImplementation和AggregationClient
- OpenStack网络介绍-龚永生