一、前期准备
1、注册github账号
2、注册cocoapods账号
发布到cocoapods上你需要有一个pod 的账号,可以终端使用pod trunk me
来查看自己的账号信息,如果没有账号的话需要先注册一下,命令如下:
pod trunk register 8*******2@qq.com "用户名"
这时候邮箱会受到一封邮件
打开这个地址就可以验证成功了,此时再输入命令
pod trunk me
就可以看到自己的账号信息了3、创建SSH,并配置电脑和git上的SSH
1、终端输入命令ls -al ~/.ssh
,检查是否显示有id_rsa.pub或者id_dsa.pub存在,如果不存在,则创建。如下所示,则存在
2、创建SSH,终端输入ssh-keygen -t rsa -C "8*********2@qq.com"
连续回车即可,也可能会让你输入密码,密码就是你的开机密码
3、拷贝SSH Key
终端输入pbcopy < ~/.ssh/id_rsa.pub
4、将SSH Key添加到git
点git头像 -- Settings -- SSH and GPG keys -- New SSH key
二、开工
流程:
Github上创建存储库 -- 配置SSH -- 将项目clone到本地 -- 将要托管的SDK放到clone下来的文件里面 -- 创建.podspec文件 -- 将文件上传到git上 -- 编辑.podspec文件 -- 验证.podspec文件合法性 -- 更新到git -- 提交到pods
1、在Github上创建存储库(前提是的有一个Github账号,如果没有就注册一个)
2、将项目clone到本地
git clone https://github.com/Hokingtion/HJQPublicFramework.git
3、将要托管的SDK放到该项目中
4、创建podspec文件
使用终端cd到工程文件的目录中,在README.md文件所在的位置创建一个podspec 文件
pod spec create HJQPublicFramework
创建成功后文件夹会多出一个.podspec文件
5、将以上文件push到git上
cd 到.git仓库的同级目录
git add .
git commit -m "注释说明comment log"
git push
git tag 0.0.1
git push --tags
成功后会在终端见到以下内容
到git上可以看到提交的内容
6、编辑.podspec文件,该文件主要是配置一些项目到Pods的参数(极为重要)
终端cd到podspec文件,执行以下命令,打开podspec文件并编辑
vi HJQPublicFramework.podspec
7、编辑完需要验证.podspec文件是否合法
终端执行命令
pod spec lint
这边验证基本上是会出错的,针对报的错一条一条改吧
最后检验通过如下:
8、更新podspec文件到git
git add .
git commit -m "更新podspec文件"
git push
9、提交到pods
pod trunk push ./HJQPublicFramework.podspec
成功会有如下提示:
到这里,SDK已经托管到cocoapods上了!!!
接下来,到测试工程添加podfile文件
然后,在终端
pod install
配置好工程,运行~
成功了!!!
三、附上podspec文件:
Pod::Spec.new do |s|
s.name = "HJQPublicFramework"
s.version = "0.0.1" #切记要和Git提交的版本号一致
s.summary = "Test for HJQPublicFramework."
s.description = "随便写点什么,这里的描述必须比上面的summary长,否则报警告,不行你可以试试" #这里的描述必须比上面的summary长,否则报警告
s.homepage = "https://github.com/Hokingtion" #填写git主页地址
#特别重要,这就是上面提到的新建Git项目的时候,初始化需要选择的LICENSE,没有这个提交会报错
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "HJQ" => "8********2@qq.com" }
#平台、系统版本必填,否则会报osx相关的警告,也是提交不了,前面打包Framework的时候提到的重要性
s.platform = :ios, "8.0"
s.source = { :git => "https://github.com/Hokingtion/HJQPublicFramework.git", :tag => "0.0.1" }
#特别重要,这里边的.h或者.m文件不能只是配到.framework,否则找不到,报错
s.source_files = "Lib/WebMonitorSDK.framework/Headers/*.{h}"
#特别重要,这里必须配置,否则上传成功,找不到.framework,只有头文件
s.vendored_frameworks = "Lib/WebMonitorSDK.framework"
end