SDK提交到CocoaPods
一:GitHub新建仓库,并clone到本地
1、注册GitHub账号并登录
2、右上方点击+,新建仓库(仓库名字(Repository name)、仓库权限(Public)、readme、license)
创建完成如下图:
3、检出仓库
新建一个文件夹SDK:
打开终端:
将FireRadarSDK文件夹拖进SDK里的克隆后的FireRadarSDK文件夹中
关掉终端,重新打开,切换到git仓库目录
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }
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
因为有警告 可以用下面的
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }
pod trunk push FireRadarSDK.podspec --use-libraries --allow-warnings
只要验证通过,提交时一般没有什么问题, 一般会卡在“Updating spec repo ‘master’”, 这时不要关闭终端,要等,根据网络不同提交时可能要花几分钟时间,甚至是10分钟都有可能,成功如下图
七、重置cocoapods
pod setup
八、查找提交成功的库
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }
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移除刚才的框架
(移除框架不属于整个过程的步骤,这里只是提供移除框架的命令,在需要使用时可以查看)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }
pod trunk delete FireRadarSDK 2.0.0
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }
SDK提交到CocoaPods的更多相关文章
- CocoaPods 提交自己的库
今想把自己写的一个view提交到CocoaPods时候,突然发现pull request被拒了,原来从去年开始就改用trunk了... 网上那些folk 在提交的pull request的教程都不可用 ...
- Cocoapods的使用教程
前言 对于iOS App的开发,几乎都采用了Cocoapods来管理第三方库,那么对于我们开发人员来说,这是必备技能,必须要掌握如何使用.这篇文章就是介绍如何安装和使用CocoaPods的. 这篇文章 ...
- Cocoapods完整使用篇
温馨提示:在篇文章中所使用的Xcode版本为Xcode7. 一.什么是CocoaPods? 简单来说,就是专门为iOS工程提供对第三方库的依赖的管理工具,通过CocoaPods,我们可以单独管理每 ...
- 制作CocoaPods公有库和私有库
认识公有库和私有库 公有库:开源自己封装的库供别人使用,且往cocoaPods的官方Repo仓库(即CocoaPods Master Repo)中新增自己库的索引,该库索引是以*.podspec.js ...
- 如何快速简单上传类库到CocoaPods - 图文攻略步骤
当自己的库已经上传GitHub后,那么如何快速简单的开源自己的库呢? 这里就是介绍如何将自己的类库上传到pods管理库,以便开源所有人都能方便使用. 准备前提: - 项目已上传到GitHub (注意, ...
- Cocoapods 应用第二部分-私有库相关
我们在这里,使用的是 第一部分使用pod lib create YohunlUtilsPod 创建的framework工程来说明.其创建过程在此就不重复了,当然你也可以下载我已经创建好的demo ht ...
- 如何发布自己的开源框架到CocoaPods【转】
在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中. 如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod install ...
- 让自己写的项目支持Cocoapods管理
学会使用别人的 Pods 依赖库以后, 你一定对创建自己的依赖库很有兴趣吧,现在我们一起来制作自己的Pods依赖库. 1.创建自己的 github 仓库 上图中标识出了6处地方 Repository ...
- 让自己的开源项目支持CocoaPods
测试的时候找个自己封装的方法或UI控件就可以了 这里用我刚封装的Redirect重定向的请求体为例 1, 在github上创建一个Redirect,重要:记得选择开源协议 (MIT)(如果木有GitH ...
随机推荐
- HighCharts之2D柱状图、折线图的组合多轴图
HighCharts之2D柱状图.折线图的组合多轴图 1.实例源码 SomeAxis.html: <!DOCTYPE html> <html> <head> < ...
- Flex中的FusionCharts 2D折线图
Flex中的FusionCharts 2D折线图 1.设计源码 LineChart.mxml: <?xml version="1.0" encoding="utf- ...
- Error: Dynamic is undefined
1.错误描述 Error: Dynamic is undefined @http://localhost:8080/Query/resource/global/scripts/app.js:149:1 ...
- winhex中判断+MBR+DBR+EBR方法
[/hide] 扇区开始描述). 用 winhex 做U盘免疫AUTO.INF 用WinHex制作无法修改的AutoRun.inf文件 在我们日常工作中,经常需要使用闪存(也称为U盘或者优盘)主要是A ...
- 【SoDiaoEditor电子病历编辑器】编辑器支持移动化
写在前面 每次写SoDiao时都是一次灵魂拷问,这么猥琐的名字,会对程序媛产生多少误导啊,我是一个正直的人,不管你信不信每个见到我的人都这么说.本次更新拖了很久,本来半个月前应该实现的,却一直拖到昨天 ...
- Python基础_如何用pip安装文件
与其他语言相比,Python的一个很大的优势是由丰富的资源库,这就需我们按照自己的来安装文件和包.本节以在windows系统下安装pygame 为例来讲述一下安装步骤. 1. 检测python中有没有 ...
- 【BZOJ4555】求和(第二类斯特林数,组合数学,NTT)
[BZOJ4555]求和(第二类斯特林数,组合数学,NTT) 题面 BZOJ 题解 推推柿子 \[\sum_{i=0}^n\sum_{j=0}^iS(i,j)·j!·2^j\] \[=\sum_{i= ...
- 【Luogu1345】奶牛的电信(网络流)
[Luogu1345]奶牛的电信(网络流) 题面 题目描述 农夫约翰的奶牛们喜欢通过电邮保持联系,于是她们建立了一个奶牛电脑网络,以便互相交流.这些机器用如下的方式发送电邮:如果存在一个由c台电脑组成 ...
- JBox使用详解
插件说明 - jBox 是一款基于 jQuery 的多功能对话框插件,能够实现网站的整体风格效果,给用户一个新的视觉享受. 运行环境 - 兼容 IE6+.Firefox.Chrome.Safari.O ...
- Django---第三方
第三方: 3.富文本编辑器:此处以tinymce为例 使用编辑器的显示效果为: 1.下载安装 在网站pypi网站搜索并下载"django-tinymce-2.4.0" 解压 tar ...