一、让自己的开源项目支持CocoaPods
XJActionSheet 是我仿写的类微信底部弹出框,以它为例子!
- 在github上创建一个XJActionSheet,重要:记得选择开源协议 (MIT)(没有选的话,后面上传的pods会有警告)。
- 将XJActionSheet clone到自己的工作目录
- 在当前文件路径打开终端
- 创建一个podspec文件,命令:
pod spec create XJActionSheet
- 编辑 podspec文件,这里是用vim打开的,命令:
vim XJActionSheet.podspec
- 创建之后会自动生成一个模板,里面会有详细的注释,我们只需要按需要修改这个文件即可,下边这个是测试的时候我编辑的 (如果需要更更多的配置 可以参考别的开源项目的podspec文件):
Pod::Spec.new do |s|
s.name = 'XJActionSheet'#名称
s.version = '0.0.1' #版本号
s.summary = '仿微信底部alert' #简短介绍,下面是详细介绍
#s.description = <<-DESC
Testing Private Podspec.
* Markdown format.
* Don't worry about the indent, we strip it!
DESC
s.homepage = 'https://github.com/CoderXJLee/XJActionSheet'#主页,这里要填写可以访问到的地址,不然验证不通过
# s.screenshots = "www.example.com/screenshots_1", "www.example.com/screenshots_2" #截图
s.license = 'MIT' #开源协议
s.authors = {'lxj' => '452521617@qq.com'}#作者信息
s.platform = :ios, '8.0'#支持的平台及版本
s.source = {:git => 'https://github.com/CoderXJLee/XJActionSheet.git', :tag => s.version}#项目地址,这里不支持ssh的地址,验证不通过,只支持HTTP和HTTPS,最好使用HTTPS
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>' #多媒体介绍地址
#s.public_header_files = 'Pod/Classes/**/*.h' #公开头文件地址
s.source_files = 'XJActionSheetDemo/XJActionSheet/XJActionSheet.{h,m}'#代码源文件地址,**/*表示Classes目录及其子目录下所有文件,如果有多个目录下则用逗号分开,如果需要在项目中分组显示,这里也要做相应的设置
#s.resource = 'MJRefresh/MJRefresh.bundle' #资源文件地址
s.requires_arc = true #是否使用ARC,如果指定具体文件,则具体的问题使用ARC
s.frameworks = 'UIKit' #所需的framework,多个用逗号隔开
# s.dependency 'AFNetworking', '~> 2.3' #依赖关系,该项目所依赖的其他库,如果有多个需要填写多个s.dependency
end
我也不是特别懂,具体复杂的,可以参考常用框架的podspec文件
- 创建tag,并推送到github,依次执行以下命令:
$ git add .
$ git commit -m "0.0.1"
$ git tag 0.0.1
$ git push --tags
$ git push origin master
- 验证podspec文件
pod spec lint XJActionSheet.podspec
如果验证不通过,会有详细的ERROR和WARING提示,根据提示依次解决,然后回到第7步重新来一遍。
注意:在重新开始之前,我们要删除远程库的tag和本地的tag,命令如下:
$ git tag -d 0.0.1 //删除本地tag
$ git push origin :refs/tags/0.0.1 // 删除远程库tag
如果只是报出警告可以执行 pod spec lint XJActionSheet.podspec --allow-warnings
来忽略警告
- 验证通过后,提交到CocoaPods。命令:
pod trunk push XJActionSheet.podspec
如果是第一次提交,需要先执行这个命令:pod trunk register 这里写邮箱 '这里起个名字' --description=' 这里写描述
例子pod trunk register 452521617@qq.com 'lxj' --description='MacBook pro
执行完成之后,会给你的邮箱里发一封邮件,去邮箱点击链接之后,再重新执行第9步即可!
执行pod search 查看是否添加成功,如果搜不到,可以清除缓存rm ~/Library/Caches/CocoaPods/search_index.json
网友评论