0.准备工作
查看版本
1 | pod --version |
1.上传项目源码
把项目源码上传到gitHub仓库再clone到本地(以ZJRefreshControl
为例), 如果项目本来就在gitHub的仓库中, 直接clone到本地即可
2.创建项目的podspec文件
用终端命令cd到本地项目目录并执行如下命令:
1 | pod spec create ZJRefreshControl |
这时候本地就生成一个ZJRefreshControl.podspec
文件
用编辑器打开.podspec
文件 (我自己用Sublime Text)
删除不必要的注释
这里只简单介绍基本用法,所以只用到一部分必须得字段 更多字段请移步http://guides.cocoapods.org/syntax/podspec.html
1 | Pod::Spec.new do |s| |
假如依赖第三方库RxSwift
我们可以这样修改上面的配置
1 | s.subspec "Core" do |ss| |
验证podspec文件
编辑完podspec文件后需要验证一下这个文件是否可用
podspec文件不允许有任何的警告或Error
执行命令
1 | pod lib lint --allow-warnings |
如果出现
1 | -> ZJRefreshControl (1.1) |
则说明验证通过, 否则, 根据提示修改podspec
文件再次验证直到验证通过
如果出现Error但是提示信息不足,可以添加--verbose
以获取更多错误信息
1 | pod lib lint --verbose |
3.打tag 上传podspec
podspec文件中需要指定的tag, 完成上述操作后给项目打tag
1 | git tag -m"first release ZJRefreshControl" "1.1" |
最后使用pod trunk
命令,把podspec
文件推送到CocoaPod官方库
pod trunk
需要注册
查看个人注册信息
1 | pod trunk me |
如果没有个人信息 就要注册
注册命令
1 | pod trunk register 183518918@qq.com 'psvmc' |
邮箱里验证邮件 点击验证连接后 就可以上传了
上传
1 | pod trunk push *.podspec --allow-warnings |
这个过程可能会比较耗时,原因你懂的
4.最后
如果一切顺利
1 | pod search ZJRefreshControl |
就可以找到刚才的项目了
并且还有安装命令
1 | pod 'ZJRefreshControl','~>1.1' |
5.Xcode 8 and iOS 10
如果要提交的组件为swift5.0
的 就必须满足以下条件
CocoaPods
升级为1.1.0
及以上- 配置文件中添加
s.swift_version='5.0'
使用
项目的根目录
1 | vim Podfile |
写入如下内容
1 | platform :ios, "8.0" |
qgyx 项目的目录
运行以下命令:
1 | pod install |
不更新升级CocoaPods的spec仓库 来缩短pod install
的时间
1 | pod install --verbose --no-repo-update |
误区install
or update
当我们添加新的库的时候,我们要下载库,用的命令是pod install
,而不是pod update
,因为在第一次pod install
后,我们的项目中会生成一个Podfile.lock
的文件,他的作用是记录我们新添加库的版本信息,这样的话,如果用pod update
,就会下载新版本的库,导致所有代码都要进行更改,这时Podfile.lock
也会重新生成
总之 添加库时一定要用pod install
命令