CocoaPods 公共/私有

公共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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容