ios 让项目支持cocoapod

一、让自己的开源项目支持CocoaPods
XJActionSheet 是我仿写的类微信底部弹出框,以它为例子!

  1. 在github上创建一个XJActionSheet,重要:记得选择开源协议 (MIT)(没有选的话,后面上传的pods会有警告)。
  2. 将XJActionSheet clone到自己的工作目录
  3. 在当前文件路径打开终端
  4. 创建一个podspec文件,命令:
    pod spec create XJActionSheet
  5. 编辑 podspec文件,这里是用vim打开的,命令:
    vim XJActionSheet.podspec
  6. 创建之后会自动生成一个模板,里面会有详细的注释,我们只需要按需要修改这个文件即可,下边这个是测试的时候我编辑的 (如果需要更更多的配置 可以参考别的开源项目的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' => '[email protected]'}#作者信息
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/'                       #多媒体介绍地址
#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文件

  1. 创建tag,并推送到github,依次执行以下命令:
$ git add .
$ git commit -m "0.0.1"
$ git tag 0.0.1
$ git push --tags
$ git push origin master
  1. 验证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来忽略警告

  1. 验证通过后,提交到CocoaPods。命令:pod trunk push XJActionSheet.podspec
    如果是第一次提交,需要先执行这个命令:pod trunk register 这里写邮箱 '这里起个名字' --description=' 这里写描述
    例子pod trunk register [email protected] 'lxj' --description='MacBook pro
    执行完成之后,会给你的邮箱里发一封邮件,去邮箱点击链接之后,再重新执行第9步即可!

执行pod search 查看是否添加成功,如果搜不到,可以清除缓存rm ~/Library/Caches/CocoaPods/search_index.json

你可能感兴趣的:(ios 让项目支持cocoapod)