如何发布自己的开源框架到CocoaPods

1.如果之前没有注册过trunk的话,需要注册

1
2
pod trunk register 邮箱 '用户名' --verbose
// 之后点击邮箱链接进行验证

2.查看注册信息

1
pod trunk me

3.在需要发布的库的根目录创建.podspec文件

1
2
// OttoKeyboardView : 库名字
pod spec create OttoKeyboardView

3.编辑库相关信息

1
Vi OttoKeyboardView.podspec

4.podspec文件信息

1
2
3
4
5
6
7
8
9
10
s.name = 'OttoKeyboardView'
s.version = '0.0.1'
s.license = 'MIT'
s.summary = 'A view like OttoKeyboardView on iOS.'
s.homepage = 'https://github.com/WuOtto/OttoKeyboardView'
s.source = { :git => 'https://github.com/WuOtto/OttoKeyboardView.git', :tag => s.version.to_s }
s.requires_arc = true
s.ios.deployment_target = '8.0'
s.source_files = 'OttoKeyboardView/*.{h,m}'
s.framework = "UIKit"

5.验证本地文件编写是否正确

1
pod lib lint OttoKeyboardView.podspec

6.将编辑好的文件同步到github

1
2
git tag '0.0.1'
git push --tags

7.把编写好的文件同步到Cocoapods

1
pod trunk push OttoKeyboardView.podspec

p.s.

1
2
3
pod search OttoKeyboardView
[!] Unable to find a pod with name, author, summary, or description matching `OttoKeyboardView`

我遇到的情况是执行pod search OttoKeyboardView搜索不到,但是我在工程的podfile里面添加库,然后pod install发现可以安装成功。只好再等待一段时间。

解决方法:
1.一般情况安装CocoaPods执行pod install时,系统会默认操作pod setup,但可能pod setup会不成功,所以我们先pod setup一下。

2.如果还是不能正常执行pod search,删除~/Library/Caches/CocoaPods目录下的search_index.json文件。

1
2
3
4
5
rm ~/Library/Caches/CocoaPods/search_index.json
pod search OttoKeyboardView
Creating search index for spec repo 'master'..Done!

这样会重新触发CocoaPods去创建索引文件,然后就可以正常执行了。

3.如果还是不执行的,那就是直接重新安装CocoaPods吧!