一: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的更多相关文章

  1. CocoaPods 提交自己的库

    今想把自己写的一个view提交到CocoaPods时候,突然发现pull request被拒了,原来从去年开始就改用trunk了... 网上那些folk 在提交的pull request的教程都不可用 ...

  2. Cocoapods的使用教程

    前言 对于iOS App的开发,几乎都采用了Cocoapods来管理第三方库,那么对于我们开发人员来说,这是必备技能,必须要掌握如何使用.这篇文章就是介绍如何安装和使用CocoaPods的. 这篇文章 ...

  3. Cocoapods完整使用篇

    温馨提示:在篇文章中所使用的Xcode版本为Xcode7.   一.什么是CocoaPods? 简单来说,就是专门为iOS工程提供对第三方库的依赖的管理工具,通过CocoaPods,我们可以单独管理每 ...

  4. 制作CocoaPods公有库和私有库

    认识公有库和私有库 公有库:开源自己封装的库供别人使用,且往cocoaPods的官方Repo仓库(即CocoaPods Master Repo)中新增自己库的索引,该库索引是以*.podspec.js ...

  5. 如何快速简单上传类库到CocoaPods - 图文攻略步骤

    当自己的库已经上传GitHub后,那么如何快速简单的开源自己的库呢? 这里就是介绍如何将自己的类库上传到pods管理库,以便开源所有人都能方便使用. 准备前提: - 项目已上传到GitHub (注意, ...

  6. Cocoapods 应用第二部分-私有库相关

    我们在这里,使用的是 第一部分使用pod lib create YohunlUtilsPod 创建的framework工程来说明.其创建过程在此就不重复了,当然你也可以下载我已经创建好的demo ht ...

  7. 如何发布自己的开源框架到CocoaPods【转】

    在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中. 如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod install ...

  8. 让自己写的项目支持Cocoapods管理

    学会使用别人的 Pods 依赖库以后, 你一定对创建自己的依赖库很有兴趣吧,现在我们一起来制作自己的Pods依赖库. 1.创建自己的 github 仓库 上图中标识出了6处地方 Repository ...

  9. 让自己的开源项目支持CocoaPods

    测试的时候找个自己封装的方法或UI控件就可以了 这里用我刚封装的Redirect重定向的请求体为例 1, 在github上创建一个Redirect,重要:记得选择开源协议 (MIT)(如果木有GitH ...

随机推荐

  1. HighCharts之2D对数饼图

    HighCharts之2D对数饼图 1.实例源码 LogarithmicPie.html: <!DOCTYPE html> <html> <head> <me ...

  2. TI AM335X处理器介绍

    AM335X是美国TI(德州仪器)公司基于 ARM Cortex-A8内核的AM335X微处理器,在图像.图形处理.外设方面进行了增强,并全面支持诸如 EtherCAT 和 PROFIBUS等工业接口 ...

  3. Django学习-3-请求流程

    Django请求生命周期     -> URL对应关系(匹配) -> 视图函数 -> 返回用户字符串     -> URL对应关系(匹配) -> 视图函数 -> 打 ...

  4. Educational Codeforces Round 36 (Rated for Div. 2) E. Physical Education Lessons

    提供两种思路 一种线段树区间更新 另一种用map维护连续的区间,也是题解的思路 第二种很难写(我太渣,看了别人的代码,发现自己写的太烦了) #include<iostream> #incl ...

  5. 异常-----freemarker.core.ParseException: Token manager error

    一,案例一 1.1.错误描述 freemarker.core.ParseException: Token manager error: freemarker.core.TokenMgrError: L ...

  6. sqoop:mysql to hdfs

    将mysql联合查询的结果导入到hdfs上 sqoop import --connect jdbc:mysql://ip/数据库 --username root --password 密码 --que ...

  7. 原生JS实现tab切换--web前端开发

    tab切换非常常见,应用非常广泛,比较实用,一般来说是一个网站必不可少的一个效果.例如:https://123.sogou.com/中的一个tab部分: 1.案例源代码 <!DOCTYPE ht ...

  8. 元素(WebElement)-----Selenium快速入门(三)

    上一篇<元素定位-----Selenium快速入门(二)>说了,如何定位元素,本篇说说找到的元素(WebElement)该怎么用. WebElement常用方法:  返回值  方法名  说 ...

  9. 【NOIP2014】解方程(枚举)

    题面 题目描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, m ] 内的整数解(n 和m 均为正整数) 输入格式 输入共n + 2 行. 第一行包含2 个整数 ...

  10. FCN小小实战

    先说一下前期准备工作:自己的运行环境是Ubuntu16.04+caffe+CPU(这台电脑没有GPU)+python 关于python的搭建就不说了,网上随便一搜,很多参考资源.说一下我配置好caff ...