如何将自己的库上传到cocoapods
假设到这里你已经将你的代码上传了github
上,如果没有的话就先别看了。在这里我会用自己的项目JTForm来讲解一下整个过程
生成及修改配置文件
在创建之前,你需要将你的代码提交到github
上,并且为它生成一个相应版本号的tag
pod trunk register [EMAIL] [USERNAME]
当你运行pod trunk me
后,发现不是如上图的结果,那么你可能需要重新登陆或者注册,也就是运行如下的命令pod trunk register [EMAIL] [USERNAME]
,运行成功之后,你填的邮箱会收到一封邮件,点进去点击里面的链接就算是登录成功了。
pod spec create JTForm
cd到项目中,在readme.md的位置使用pod spec create JTForm
。这个命令会生成一个JTForm.podspec
的文件。
编辑JTForm.podspec
你可以直接参考或者复制别的项目podspec文件里面的内容,仅需修改一些信息。你也可以看官方文档自己编辑。
1 | Pod::Spec.new do |s| |
pod spec lint
验证你编辑的podspec文件是否符合规范,如果出现error的话是不可以的,warning的话是可以的,可以使用命令pod spec lint --allow-warnings
来忽略所有warnings。
下面是我验证时出现的问题:
原因是因为podspec文件里面s.ios.deployment_target = '8.0'
,而Texture仅支持iOS9.0以上的版本,所以我这里做了以下的修改:s.ios.deployment_target = '9.0'
。
重新验证,出现了以下错误:
一开始我以为我的.h直接引用了第三方的文件导致,后来才发现是因为没有暴露SDWebImage的头文件。解决办法:在podspec文件修改配置s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SRCROOT)/SDWebImage" }
答案来源:关于组件化使用私有Pods的一些记录
pod trunk push –allow-warnings
使用pod trunk push --allow-warnings
命令将自己的库发布到cocoapods上,大概8分钟左上
pod setup
上传成功之后,使用pod search
无法搜到自己的库的话,你可以这样做:
- 命令
rm ~/Library/Caches/CocoaPods/search_index.json
完成后重新使用pod search
搜索
版本升级
当你需要升级自己库版本的时候,你可以这样做:
- 修改podspec中
s.version
的版本号 - 提交到git,并打上相应版本号的tag
- 进入到podspec目录下,使用命令
pod trunk push --allow-warnings
更新库
更换版本
如果你对当前版本的库不满意,但是又不想升级版本号。你可以这样做:
- 去掉git上相应版本号的tag
- git上传新的内容
- 上传之后打上相应版本号的tag