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