创建GitHub项目
创建GitHub仓库
使用GitHub账户新建库,勾选下面许可证选项

clone到本地
创建完后clone到本地,在clone下来的文件里面新建工程,自己的组件放到单独的文件夹。
也可以在已有的工程根目录下创建许可证文件(LICENSE)。
提交项目到GitHub
确保demo没问题后提交到GitHub
$ git push origin master
发布到CocoaPods
注册trunk
$ pod trunk register leap@example.com 'leap’ #注册,会发带验证链接的邮件到邮箱地址,名称无法修改
$ pod trunk me #可查询注册信息。
命令执行完后邮箱会收到带有验证链接的邮件,打开链接就能完成trunk注册流程。
生成podspec文件
$ pod spec create 组件名
会在当前目录下生成.podspec文件,里面有非常多的注释,大部分都是无用的。建议删除内容,直接使用其它成功提交的podspec文件修改。
Pod::Spec.new do |s|
s.name = "LPSwipeNavigationController"
s.version = "1.0.1"
s.summary = "ARC and GCD Compatible LPSwipeNavigationController Class for iOS"
s.license = "MIT"
s.homepage = "https://github.com/leapCoding/LPSwipeNavigationController"
s.author = { "LeapDev" => "lpdevstore@163.com" }
s.platform = :ios, "7.0"
s.source = { :git => "https://github.com/leapCoding/LPSwipeNavigationController.git", :tag => "#{s.version}" }
s.source_files = 'LPSwipeNavigationController.h', 'LPSwipeNavigationController.m'
end
接下来讲解一下每行代码的含义
s.name 名称
pod search 搜索的关键词,注意这里一定要和.podspec的名称一样,否则报错
s.version 版本号
s.ios.deployment_target:支持的pod最低版本
s.summary: 简介
s.homepage:项目主页地址
s.license:许可证
s.author:作者
s.social_media_url:社交网址,这里我写的微博默认是Twitter,如果你写Twitter的话,你的podspec发布成功后会@你
s.source:项目的地址
s.source_files:需要包含的源文件
s.resources: 资源文件
s.requires_arc: 是否支持ARC
s.dependency:依赖库,不能依赖未发布的库
s.license说明
s.license= { :type => "MIT", :file => "LICENSE" }
这里建议大家这样写,如果写别的会报警告,导致后面一直提交失败,这里军哥已经跳了很多坑
source_files说明
写法及含义建议大家写第一种或者第二种
"LPSwipeNavigationController/*
""LPSwipeNavigationController/LPSwipeNavigationController/*.{h,m}"
"LPSwipeNavigationController/**/*.h"
“” 表示匹配所有文件
“.{h,m}” 表示匹配所有以.h和.m结尾的文件
“**” 表示匹配所有子目录
验证.podspec文件
// --verbose 如果验证失败会报错误信息
pod spec lint LPSwipeNavigationController.podspec --verbose
打tag
$ git tag 1.0.0 #给源代码打版本标签,与podspec文件中version一致即可
$ git push --tag
更新GitHub仓库
提交修改到GitHub
发布到CocoaPods
$ pod trunk push LPSwipeNavigationController.podspec
发布成功后最后验证一下
$ pod search LPSwipeNavigationController
到此已全部完成