公共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
网友评论
正在找
刚好解决了人生难题
楼主好帅