cocoapods创建公有库

2021-11-11  本文已影响0人  拖不垮打不烂

1.github上创建新仓库

打开github,登录自己的账号,然后创建自己的新仓库,如图:


QQ20211111-153225.png
QQ20211111-153911.png
QQ20211111-154151.png

此时仓库已经创建成功

2.创建公有仓库需要的文件

建议:创建的文件名称与github上的仓库名称一样,这样可以尽量减少以后的"xxxx.podspec"文件修改

2.1创建Pod项目: pod lib create JianShuTest

What platform do you want to use?? [ iOS / macOS ]
 > iOS // 选择平台

Possible answers are [ Swift / ObjC ]
 > Swift // 选择自己需要的语言

Would you like to include a demo application with your library? [ Yes / No ]
 > Yes // 是否需要一个demo工程

Which testing frameworks will you use? [ Quick / None ]
 > None

Would you like to do view based testing? [ Yes / No ]
 > No

此时会得到一个刚刚创建好的文件夹,包含文件如下:


根目录结构@2x.png

2.2 在Example中运行自己的代码(可选操作)
需要终端 cd Example -->pod install

2.3 修改 JianShuTest.podspec文件
使用文本编辑器或者xcode打开 "JianShuTest.podspec"文件,因为以上使用了和gihhub仓库一样的名称,所以只需要更改 .description 一行就可以了,注意:" <<-DESC 简介内容 DESC "不可以处于同一行

s.version          = '0.1.0' // 版本号,可以不用修改,后面的tag号与此一样就好
s.summary          = 'A short description of JianShuTest.' // 可不修改

s.description      = <<-DESC
TODO: Add long description of the pod here. // 将这里改成自己的仓库简介,据说内容要比s.summary的内容多就可以了,没亲自验证
                       DESC

以上没问题以后,进行本地验证

pod lib lint JianShuTest.podspec  --allow-warnings

本地验证通过后,便可向github仓库上传代码

3.上传到github仓库

使用SourceTree clone仓库
将步骤1最后得到链接进行clone,代码clone到桌面后,这时候会得到一个"JianShuTest"空文件夹,将2.1文件夹里的所有文件拖进到clone的文件夹下,
然后push代码.

上传tag标签


新建tag标签,要求与2.2中的s.version一致

4.上传到cocoapos

验证库:

pod spec lint  JianShuTest.podspec  --allow-warnings

制作公有库需要使用pod trunk, 先要进行邮箱验证

// 先注册 , 会给邮箱发一封邮件,复制邮件中的链接在浏览器中打开进行验证, "xxx@xxxx.org" 是你注册的github邮箱, "Orta Therox"是你的github用户名, 
pod trunk register xxx@xxxx.org 'Orta Therox' --description='MacBook air 这里随意' 

// 查看有没有注册,有的话就是相关的注册账号的信息
pod trunk me

// 上传
pod trunk push  JianShuTest.podspec  --allow-warnings

当终端看到🎉 🚀 , 那么恭喜,说明成功了

后继1:加载图片

1.1 添加图片

如果在公有库中需要添加自己的图片,需要做如下操作,在2.1更目录结构图片中的Assets文件夹中放入需要加载的图片

1.2 在ZWFilterMenuView.podspec文件加入引用资源库目录,
s.resource_bundles = {
    'JianShuTest' => ['ZWFilterMenuView/Assets/*.png']
  }
1.3 使用图片
private lazy var imgV:UIImageView = {
        let imgV = UIImageView.init()
        let frameworkBundle = Bundle.init(for: ZWFilterMenuBarItemView.self)
        let bundleURL = frameworkBundle.resourceURL?.appendingPathComponent("ZWFilterMenuView.bundle")
        let resourceBundle = Bundle.init(url: bundleURL!)
        let image = UIImage(named: "zw_triangle_image", in: resourceBundle, compatibleWith: nil)
        imgV.image = image
        return imgV
    }()

后继2:更新版本

2.1修改版本号
s.version          = '0.2.0' // 修改ZWFilterMenuView.podspec版本号
2.2上传tag标签

重复3.上传到github仓库中的上传tag标签操作,新建标签版本号并上传,后继处理可参考👇🏻链接
文章参考:iOS更新CocoaPods公有库的版本

PS:

不过我的仓库在使用pod search 和在https://cocoapods.org 是搜不到的, 但是在项目中可以直接pod install,后继处理可参考👇🏻链接
文章参考:cocoapods组件化-创建你的公有库/私有库

上一篇下一篇

猜你喜欢

热点阅读