1.github上创建新仓库
打开github,登录自己的账号,然后创建自己的新仓库,如图:
此时仓库已经创建成功
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
此时会得到一个刚刚创建好的文件夹,包含文件如下:
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标签
4.上传到cocoapos
验证库:
pod spec lint JianShuTest.podspec --allow-warnings
制作公有库需要使用pod trunk, 先要进行邮箱验证
// 先注册 , 会给邮箱发一封邮件,复制邮件中的链接在浏览器中打开进行验证, "[email protected]" 是你注册的github邮箱, "Orta Therox"是你的github用户名,
pod trunk register [email protected] '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组件化-创建你的公有库/私有库