iOS开发之自己开发的Framework发布到cocoapods(GitHub+sourceTree)

一、摘要:

简单的写了一个framework为了测试自己framework发布的cocoapods的流程,库的功能很简单就是提供一个类方法输出一个“hello world!!”而已,通过github+sourcetree工具管理代码,发布到cocoapods,以下是公有库的发布管理步骤,私有库大同小异。
废话不多说,先上结果,PSTFramework

image.png

二、步骤:

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解决步骤:
(1)删除 ~/Library/Caches/CocoaPods 目录下的 search_index.json 文件,终端执行命令:rm ~/Library/Caches/CocoaPods/search_index.json
(2)执行搜索库命令:pod search ADCDN

image.png

解决问题参考链接

参考链接:

链接一:主要参考链接,步骤比较完整,也有遇到的错误解决出来方案
链接二:步骤也是比较完成,配合着链接一参考

这个是我自己操作过程的步骤,如果小伙伴有遇到什么问题欢迎在评论区共同探讨,我会尽快回复你的。😊

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容