想要添加 CocoaPods
支持必须将源码提交至 GitHub
,至于怎么提交相信大家都会,就不重复了。
注意:在创建 GitHub
仓库的时候,下面的 License 许可证
必须选择 MIT License
,不能为 None
,否则验证会报错,在下面会用到。
下图是我的项目目录结构,上面选择了 MIT License
后,项目目录中会多一个 LICENSE
的文件,没有就按照上面说的重新建一下仓库,这个文件必须要有,GZZEditView
目录中的文件就是我要添加 CocoaPods
支持的文件。
cd
到你的项目目录并执行以下命令:( GZZEditView
的位置换成你框架的名称,也是之后 pod search
的名称)pod spec create GZZEditView
.podspec
的文件。这一步非常重要,能不能验证通过就主要看这个文件的内容编辑是否正确了,作者就在这里耗了很久,总是验证报错。
.podspec
的文件,将内容全部删除,然后将以下内容复制进去,这里只用到一部分必须的字段,如果需要设置更多字段,点击这里。Pod::Spec.new do |s|
s.name = "GZZEditView"
s.version = "1.0.0"
s.ios.deployment_target = '8.0'
s.summary = "非常简单易用的轻量级编辑框。"
s.homepage = "https://github.com/Jonzzs/GZZEditView"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "Jonzzs" => "292710547@qq.com" }
s.social_media_url = "http://weibo.com/Jonzzs"
s.source = { :git => "https://github.com/Jonzzs/GZZEditView.git", :tag => s.version }
s.source_files = "GZZEditView/*.{h,m}"
s.requires_arc = true
end
xxx
处就是需要修改的内容。s.name = "xxx" :框架名称,也是 pod search 搜索的关键词,并且一定要和 .podspec 文件的名称一样,否则验证报错。
s.version = "xxx" :框架版本号。
s.ios.deployment_target = 'xxx' :框架支持的 iOS 最低版本。
s.summary = "xxx" : pod search 搜索框架时,显示的框架简介。
s.homepage = "xxx" :GitHub 项目主页地址.
s.license = { :type => "MIT", :file => "LICENSE" } :许可证,这里就这样写不用修改。
s.author = { "xxx" => "xxx" } :作者,前面填你的英文名,后面填你的个人邮箱。
s.social_media_url = "xxx" :社交网址,我填的是我的个人微博地址。
s.source = { :git => "xxx", :tag => s.version } :GitHub 项目的仓库地址,这里只支持 HTTPS ,不支持 SSH 。
s.source_files = "xxx/*.{h,m}" :要添加 CocoaPods 支持的文件路径。
两种写法:
s.source_files = "xxx/*"
s.source_files = "xxx/*.{h,m}"
"*":表示匹配所有文件
"*.{h,m}":表示匹配所有以 .h 和 .m 结尾的文件
"**":表示匹配所有子目录
s.requires_arc = true :项目是否支持ARC
podspec
文件修完完成以后,command + s
保存一下,接下来开始验证。
cd
到你的项目目录,刚才终端没关的话,就直接执行以下命令:pod lib lint
warning
错误,并提示 but you can use '--allow-warnings' to ignore them
的话,就执行以下命令忽略 warning
来验证:pod lib lint --allow-warnings
error
错误的话,就必须按照提示将错误解决掉,大多数都是 podspec
文件信息编辑有误,解决完后重新进行验证,如果提示信息不足,可以执行以下命令以获取更多错误信息:pod lib lint --verbose
GZZEditView passed validation.
就是验证成功了。因为 CocoaPods
是依赖项目的 tag
版本的,所以必须打上 tag
版本。
podspec
文件验证成功后,先将改动后的文件 commit
提交,接着 push
推送到 GitHub
。tag
版本,版本名必须要和之前podspec
文件中的 s.version
一致。git tag "1.0.0" // 为 git 提交打上 tag
git push --tags // 将 tag 推送到远程仓库
注意: trunk
需要 CocoaPods 0.33
版本以上,如果版本太低,就先把 CocoaPods
版本升级一下,具体怎么升级这里就不说了。
trunk
的就不需要注册了,执行以下命令查看自己有没有注册过:pod trunk me
trunk
了。trunk
,前面填写你的个人邮箱地址,后面填写你的英文名字。pod trunk register xxx "xxx"
例如:
pod trunk register 292710547@qq.com "Jonzzs"
依旧先 cd
到你的项目目录,接着要注意的是,发布时会再次验证你的 podspec
文件,如果刚才验证时使用了 --allow-warnings
,那么发布的时候也应该使用,否则出现相同的报错。
pod lib lint
验证成功的,就执行以下命令发布:pod trunk push GZZEditView.podspec
pod lib lint --allow-warnings
验证成功的,就执行以下命令发布:pod trunk push GZZEditView.podspec --allow-warnings
注意: GZZEditView
的位置换成你框架的名称。
pods
库:pod search GZZEditView
好了,大功告成,其实过程挺简单的,只要
podspec
文件编辑正确,就会少走很多坑,有不足的地方可以提出来。以后再次更新框架的话,只需要把你的项目再打一个
tag
版本,然后修改podspec
文件中的s.version
版本,接着再次提交到CocoaPods
就可以了。
这篇文章还没有评论