SDK提交到CocoaPods

 一:GitHub新建仓库,并clone到本地

1、注册GitHub账号并登录 
2、右上方点击+,新建仓库(仓库名字(Repository name)、仓库权限(Public)、readme、license)

 

 

 创建完成如下图:

3、检出仓库

新建一个文件夹SDK:

打开终端:

 

将FireRadarSDK文件夹拖进SDK里的克隆后的FireRadarSDK文件夹中

 

关掉终端,重新打开,切换到git仓库目录

cd /Users/huangzengsong/SDK/FireRadarSDK

 

二:更新CocoaPods版本

查看cocoapods的版本号

pod  --version

确保cocoapods的版本号大于0.33,如果不大于需要先更新版本(无论版本号多大最好都更新一下)

sudo gem install cocoapods

注册Trunk账户(邮箱地址建议写成github注册的邮箱,用户名写成github对应的用户名)

pod trunk register 邮箱地址 '用户名' --verbose

注册命令执行完之后,对应的邮箱地址会收到一封邮件,“请确认您的注册CocoaPods通过点击以下链接:”,打开链接地址完成验证,如果地址不能点击就直接粘贴URL到浏览器上执行 

查看自己的注册信息

pod trunk me

三:新建.podspec文件

pod spec create FireRadarSDK

注意:将代码提交到CocoaPods最容易出错的地方就是该.podspec文件,有可能多一个键或者少一个键、写错一个值都有可能在提交时出错,这里给出一份我的库中的,建议将我的.podspec文件拷贝一份,然后修改每个键对应的值,一般.podspec文件名和仓库的名字一致

Pod::Spec.new do |s|
s.name = 'FireRadarSDK'
s.version = '2.0.0'
s.summary = '安全反欺诈SDK'
s.description = '利用大数据处理,人工智能进行安全预警'
s.homepage = 'https://github.com/huangzs/FireRadarSDK'
s.social_media_url = 'http://www.fireradar.com.cn/'
s.license= { :type => 'MIT' }
s.author = { 'huangzs' => '759952579@qq.com' }
s.source = { :git => 'https://github.com/huangzs/FireRadarSDK.git', :tag => s.version }
s.source_files = 'FireRadarSDK/FRSDK.framework/Headers/*.{h}'
s.vendored_frameworks = 'FireRadarSDK/FRSDK.framework'
s.platform = :ios, '8.0'
s.frameworks = 'UIKit'
s.requires_arc = true
s.dependency 'AFNetworking', '~> 3.1.0'
s.dependency 'FMDB', '~> 2.7.2'
s.dependency 'AvoidCrash', '~> 2.3.0-beta'
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:社交网址

s.source_files:需要包含的源文件

s.resources: 资源文件

s.requires_arc: 是否支持ARC

s.dependency:依赖库,不能依赖未发布的库,如 s.dependency = ‘AFNetworking’ s.dependency:依赖库,如有多个可以这样写

source_files:写法及含义建议大家写第一种或者第二种

"FireRadarSDK/* "

"FireRadarSDK/FireRadarSDK/*.{h,m}"

"FireRadarSDK/**/*.h"

  • “*” 表示匹配所有文件
  • “*.{h,m}” 表示匹配所有以.h和.m结尾的文件
  • “**” 表示匹配所有子目录

 

四、提交工程到git,并打tag2.0.0版本

(.podspec, LICENSE 这两个文件必须提交到git上)

 

git add .

git commit -m "2.0.0"

git push

git tag 2.0.0

git push --tags

 

 

如果在操作过程中想删除tag,可以使用如下命令(删除tag不属于整个过程的步骤,这里只是提供删除tag的命令,在需要使用时可以查看):

git tag // 查看tag 
git tag -d 2.0.0 //删除一个指定的tag 
git push origin :refs/tags/2.0.0 // push到远程tag

 

 

五、 提交之前先验证.podspec文件是否合法

pod spec lint FireRadarSDK.podspec

有警告暂时不影响,下面提交用--allow-warnings忽略他们

 

六、提交.podspec文件到trunk中

pod trunk push FireRadarSDK.podspec

因为有警告 可以用下面的

pod trunk push FireRadarSDK.podspec --use-libraries  --allow-warnings

只要验证通过,提交时一般没有什么问题, 一般会卡在“Updating spec repo ‘master’”, 这时不要关闭终端,要等,根据网络不同提交时可能要花几分钟时间,甚至是10分钟都有可能,成功如下图

 

七、重置cocoapods

pod setup

八、查找提交成功的库

pod search FireRadarSDK

 

如果查不到会报错如下

 

[!] Unable to find a pod with name, author, summary, or description matching

 

解决方案: 先删除search_index.json文件,然后再search (文件不存在时会自动下载,根据不同的网络可能要花一会时间,要等)

 

rm ~/Library/Caches/CocoaPods/search_index.json 

 

pod search FireRadarSDK

 

九、从cocoapods移除刚才的框架

(移除框架不属于整个过程的步骤,这里只是提供移除框架的命令,在需要使用时可以查看)

 

pod trunk delete FireRadarSDK 2.0.0

 

 

 

 

posted @ 2017-12-22 19:19  黄增松  阅读(582)  评论(0编辑  收藏