一、摘要:
简单的写了一个framework为了测试自己framework发布的cocoapods的流程,库的功能很简单就是提供一个类方法输出一个“hello world!!”而已,通过github+sourcetree工具管理代码,发布到cocoapods,以下是公有库的发布管理步骤,私有库大同小异。
image.png
废话不多说,先上结果,PSTFramework
二、步骤:
1、在GitHub上创建一个framework项目的仓库;
项目.png
2、使用sourcetree创建一个URL仓库clone自Github上创建的项目;
复制仓库地址.png
clone一个本地仓库
clone下来的代码
3、将framework库拖入sourcetree本地项目;
制作的framework编译一下,show in finder黏贴到你的framwwork文件夹下.png
image.png
这里如果需要了解如何打包framework和创建调试framework的demo的知识
4、项目打tag并且push到GitHub仓库中,(注:tag中的版本要与配置podspec文件中的s.version一致,后面会具体提到podspec文件的内容该如何书写);
注意,所有终端上的命令操作都要在你的这个目录下PSTFramework
image.png
步骤:
(1)打本地tag:git tag 0.0.1
(2)推送本地tag到远端仓库
git tag 0.0.1 //打个0.0.1的tag
git tag -d 0.0.1 //删除0.0.1的tag
git push origin :refs/tags/0.0.1 //删除远端仓库的0.0.1的tag
git tag //查看本地所有tag
git push --tags //将tag推送到远程仓库
5、创建一个podspec文件(podspec文件主要是对你的framework的内容的说明和配置),你可以把这个复制替换你用生成的podspec然后,修改成自己项目对应的配置信息;
// 注 PSTFramework 这个是你框架的名称
2、pod spec create PSTFramework
Pod::Spec.new do |s|
#项目名
s.name = "PSTFramework"
#版本号,需要与你git打的tag一致
s.version = "1.0.1"
#项目的一个摘要或简介
s.summary = "创建一个输出hello world的Framework"
#项目支持的最低iOS系统
s.ios.deployment_target = '9.0'
#项目的具体描述
s.description = <<-DESC
这就是一个测试,没别的,你信不信?
DESC
#项目在github上的地址
s.homepage = "https://github.com/pengshuangta/PSTFramework.git"
#项目的许可证说明,在igithub上创建的时候勾选上的license
s.license = { :type => "MIT", :file => "LICENSE" }
#作者的信息
s.author = { "pengshuangta" => "1120160658@qq.com" }
# Or just: s.author = "彭双塔"
# s.authors = { "彭双塔" => "arthur@soundbus.cn" }
#项目代码地址
s.source = { :git => "https://github.com/pengshuangta/PSTFramework.git", :tag => "#{s.version}" }
#项目库中需要包含的源文件
s.source_files = 'Framework/**/*.{h,m}'
#公开的头文件
s.public_header_files = "Framework/**/*.h"
#是否支持ARC
s.requires_arc = true
#这个是找到对应framework的路径,我是放在Framework下的,请按照我的填写来找到对应你自己的填写
s.ios.vendored_frameworks = 'Framework/PSTFramework.framework'
end
6、验证podspec文件
// --verbose 如果验证失败会报错误信息
pod spec lint PSTFramework.podspec --verbose
7、注册Trunk账号(邮箱和用户名),如果已经有账号可以跳过
# 注册Trunk账号
pod trunk register XXX@XXX.com '名字' --verbose
# 检测是否注册过
pod trunk me
8、提交到Cocoapods发布
pod trunk push PSTFramework.podspec --allow-warnings
9、验证是否成功
pod trunk me
pod trunk me
三、遇到的问题
问题1:执行pod trunk push PSTFramework.podspec --allow-warnings成功,且执行 pod trunk me也能显示出来库,但是执行pod search 提示如下:
[!] Unable to find a pod with name, author, summary, or description matching
问题1解决步骤:
image.png
(1)删除 ~/Library/Caches/CocoaPods 目录下的 search_index.json 文件,终端执行命令:rm ~/Library/Caches/CocoaPods/search_index.json
(2)执行搜索库命令:pod search ADCDN
解决问题参考链接
参考链接:
这个是我自己操作过程的步骤,如果小伙伴有遇到什么问题欢迎在评论区共同探讨,我会尽快回复你的。😊
网友评论