最近自己写了个库,传到github上,想让自己的库支持cocoapod,这里我看了很多相关文章。下面我就写下详细步骤以及会遇到的问题。(接下来的我认为你已经有了一定的github和cocoapod使用的经验)
我们会使用trunk的方式提交到cocoa pod 这是2014年5月20日以后才支持的。
首先我们注册trunk
pod trunk register 邮箱地址 'aizexin' --verbose
填写github的账号邮箱就可以了,成功后你应该会收到一封邮件然后点进去就可以了,然后查看下你的注册信息
pod trunk me
接下来就是配置你的PodSpec文件了
podSpec文件是用来让cocoa pod知道你的库的位置,以及作者信息想要加入cocoapod这是关键
这个部分我可以是弄了好久建议直接拷贝我的然后改参数(包括格式空格),主要修改的就是
s.name 这个一定要和你的库名字一样
s.version 这个是你的github工程tag对应的版本号
s.summary 是一句话描述库
s.description 详细描述
s.homepage 这个要改为你github的地址
s.license 这个一般填写MIT License LICENSE这个文件是在github上创建工程的时候勾选的
s.requires_arc = true 是否ARC
s.author 作者,建议直接复制过去然后改名字
s.source = github上的地址以及tag
s.source_files = 库文件路径【这个一定要对】
s.frameworks 所需要的库
【注意】.Spec文件一定要用终端(vim)编辑,千万不能改为txt文件编辑完成后再改回去。这样会照成里面内容变成中文,会出现格式不对的报错!!!
Pod::Spec.new do |s|
s.name = "AISpringButton"
s.version = "1.0.0"
s.summary = "A button view used on iOS."
s.description = <<-DESC
It is a button view used on iOS, which implement by Objective-C.
DESC
s.homepage = "https://github.com/aizexin/AISpringButton"
# s.screenshots = "www.example.com/screenshots_1", "www.example.com/screenshots_2"
s.license = 'MIT License'
s.author = { "作者名" => "邮箱地址" }
s.source = { :git => "https://github.com/aizexin/AISpringButton.git", :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/NAME'
s.platform = :ios, '7.0'
# s.ios.deployment_target = '5.0'
# s.osx.deployment_target = '10.7'
s.requires_arc = true
s.source_files = 'AISpringButton/*'
# s.resources = 'Assets'
# s.ios.exclude_files = 'Classes/osx'
# s.osx.exclude_files = 'Classes/ios'
# s.public_header_files = 'Classes/**/*.h'
s.frameworks = 'Foundation', 'UIKit'
end
然后输入下面命令检查
pod lib lint
通过之后提交到github上
git add -A
git commit -m "first commit for version 1.0.0"
git push origin master
然后添加tag(可以在一开始就添加tag)
git tag '1.0.0'
git push --tags
然后就trunk上传你的pod spec文件成功后你就可以早cocoa pod上搜到你的库了
pod trunk push AISpringButton.podspec
如果没有上传成功可能是因为你库有警告或者错误的原因可以执行下面一句话
Pod repo push 本地spec库名 本地.podsepc文件 --allow-warnings
如果没有搜到可以调用下(跟新本地pod依赖库)
pod setup
一起装逼一起飞!