为了更方便的集成第三方框架有了cocopods 的, 当我们有了相对比较好的框架的时候如何更新到cocopods 供他人参考呢?

下面我一步一步带大家开源自己的框架。

第一步

把自己的框架更新到github 上,为了提交地址给他人下载。
这里就不详细介绍如何把项目更新到github上了

第二步

这个时候我们的项目已经挂在github上了
我们需要给本地的项目新建一个Podspec描述文件

// 进入到项目目录下

cd xxx/xxx/xxx

// 创建Podspec文件

pod spec create “你的Podspec名字”

此时你已经在项目目录下创建了一个Podspec文件了
这个时候我们需要对他进行编辑
注意:最好用xcode 去编辑 防止错误 只能输入英文标点

你可能显示的版本为:

Pod::Spec.new do |s|

s.name = “项目名字”
s.version ="版本号"
s.summary = "项目介绍"
s.homepage = "你的主页地址"
s.license = "MIT" //这里就选这个许可证
s.author ={"你的名字" => "邮箱"}
s.platform =iOS,"最低支持的系统"
s.source ={git =>"项目git地址",tag =>"tag号"}
s.source_files = "text/*/.(h.m)" //这里是项目路径要传的文件
s.framework ="UIKit" //依赖的系统库 可以依赖多个
// 若需要依赖其他开源的第三方库 可以写成下列形式 若需要有多个就复制下面代码 添加第三方库
// s.dependency "AFNetWorking"
// 如果需要配置依赖系统库
// s.framework = 'SomeFramework'// 设置依赖的系统库名称
// s.frameworks = 'SomeFramework', 'AnotherFramework'//设置多个系统库名称
// 需要依赖系统的library
s.library = 'iconv'// 设置只依赖一个系统的library
s.libraries = 'iconv', 'xml2' // 设置依赖多个系统的library
// 这里是工程配置,这样使用者就不需要手动处理,由pod自动处理了
s.xcconfig = {'HEADER_SEARCH_PATHS' =>'$(SDKROOT)/usr/include/libxml2'}
其实我觉得不需要那么麻烦可以删完 需要什么复制修改就好了 当然看你的需求 下面是我的例子 红色表示需要注意的地方

Pod::Spec.new do |s|

s.name = "AlertGreenView"
s.version = "0.0.7"
s.summary = "用于项目中添加弹框自定义封装AlertGreenView."
s.homepage = "https://github.com/ZOYOOPlus/AlertGreenView"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "tangyuanby2" => "tangyuanby2@163.com" }

# s.social_media_url = "http://www.taby2.com/"
s.platform = :ios, "7.0"
s.source = { :git => "https://github.com/ZOYOOPlus/AlertGreenView.git", :tag => "#{s.version}" }
s.source_files = "AlertGreen/**/*.{h,m}"

s.requires_arc = true

# s.dependency "JSONKit", "~> 1.4"

end

然后我们设置下tag号 然后推送到git

$ git commit -m "说明"
$ git tag 0.0.1 // tag 和上面你设定的一样 一般tag号和版本号一致
$ git push --tags
$ git push origin master

我们来验证下他是否符合要求。

pod lib lint "podspec名字".podspec --allow-warnings

错误的示范:版本问题 我设置为0.1 出错,按照要求应该是 三位 0.0.1 切记各位

若我们看

“你的podspec名字” passed validation
说明这个配置文件是没问题的。

若失败了。
我们就需要将远程tag删除 重新来过

git push origin :refs/tags/"上一次设置的tag号"

在验证通过之后我们需要将代码提交到cocopods

pod trunk push "你的podspec名字".podspec --allow-warnings

如果没有出错 我们就算大功告成了。

提示: 如果代码编译不通过  也会报错,所以记得检查代码

通过pod search "项目名"去搜索你的第三方库吧。

最后::::

将我们的gitHub仓库代码配置CocoPods支持的时候

执行最后一步命令:

pod trunk push 工程名.podspec

报错如下:

[!] You need to register a session first.

解决方案命令如下:

pod trunk register 电子邮箱 '您的姓名' --description='macbook pro'

 

结束战斗

最后需要等一段时间 然后就可以 查询 和 pod install 了

将自己的框架更新到cocopods上的更多相关文章

  1. iOS将自己的框架更新到cocopods上

    第一步 把自己的框架更新到github 上,为了提交地址给他人下载.这里就不详细介绍如何把项目更新到github上了 第二步 这个时候我们的项目已经挂在github上了我们需要给本地的项目新建一个Po ...

  2. iOS中 如何将自己的框架更新到cocopods上 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博! 为了更方便的集成第三方框架有了cocopods 的, 当我们有了相对比较好的框架的时候如何更新到cocopods ...

  3. 4.Metasploit框架更新

    Metasploit 进阶第二讲  框架更新   EDB平台-互联网安全漏洞库   Exploit_DB是一个面向全世界安全工作人员的漏洞提交平台,是一份公开已知漏洞的存档,便于企业改善公司的安全情况 ...

  4. 使用VS2015将解决方案同步更新到Github上

    如今开源已经是一种趋势与潮流了,今天就来谈一谈如何将利用VS将我们的解决方案同步更新到Github上. 第一步:登录自己的Github账号(没有的自行注册). 我的Github登录后的界面: 第二步: ...

  5. Struts2框架下的文件上传文件类型、名称约定

    Struts2框架下的文件上传机制:1.通过multipart/form-data form提交文件到服务器2.文件名是通过什么地方设置的?在strust2的FileUploadInterceptor ...

  6. SpringMVC 使用验证框架 Bean Validation(上)

    SpringMVC 使用验证框架 Bean Validation(上) 对于任何一个应用而言在客户端做的数据有效性验证都不是安全有效的,这时候就要求我们在开发的时候在服务端也对数据的有效性进行验证. ...

  7. 分享下使用 svn,测试服务器代码自动更新、线上服务器代码手动更新的配置经验

    分享下使用 svn,测试服务器代码自动更新.线上服务器代码手动更新的配置经验 利用SVN的POST-COMMIT钩子自动部署代码 Linux SVN 命令详解 Linux SVN 命令详解2 使用sv ...

  8. 解决使用elementUI框架el-upload跨域上传时session丢失问题

    解决方法一: 1.使用elementUI框架el-upload跨域上传时,后端获取不到cookie,后端接口显示未登录,在添加了 with-credentials="true"后依 ...

  9. AIFramework框架Jittor特性(上)

    AIFramework框架Jittor特性(上)

随机推荐

  1. C#生成PDF2019

    因接口生成Pdf推送, 工作需要进行Pdf生成,但网上生成Pdf的文档好少: 1.生成Pdf需要文件路径/内容  都可以配置 2.使用组件 itextsharp.dll 本人用版本:v2.0.5072 ...

  2. MR案例:单表关联查询

    "单表关联"这个实例要求从给出的数据中寻找所关心的数据,它是对原始数据所包含信息的挖掘. 需求:实例中给出 child-parent(孩子—父母)表,要求输出 grandchild ...

  3. Redis中RedisTemplate和Redisson管道的使用

    当对Redis进行高频次的命令发送时,由于网络IO的原因,会耗去大量的时间.所以Redis提供了管道技术,就是将命令一次性批量的发送给Redis,从而减少IO. 一.Jedis对redis的管道进行操 ...

  4. Can't connect to any repository: xxxxxx Error writing request body to server

    今天在git提交代码时一直报如下错误: Can't connect to any repository: https://gitee.com/xxxxxx(https://gitee.com/xxxx ...

  5. Hive中的数据倾斜

    Hive中的数据倾斜 hive 1. 什么是数据倾斜 mapreduce中,相同key的value都给一个reduce,如果个别key的数据过多,而其他key的较少,就会出现数据倾斜.通俗的说,就是我 ...

  6. 梅森素数应用 nefu 120

    梅森素数 定义: if m是一个正整数 and 2^m-1是一个素数 then m是素数 if m是一个正整数 and m是一个素数 then M(m)=2^m-1被称为第m个梅森数 if p是一个素 ...

  7. HttpServletResponse response详解

    //内容类型和编码格式可以被调用多次,最后一次将覆盖之前的设置 //内容类型和编码格式必须在 //设置内容类型getWriter和getOutputStream方法之前调用,否则不起作用 //若未设置 ...

  8. SPSS 分布类型的检验

    假设检验的标准步骤: 1.建立假设:根据问题的需要提出原假设H0,以及其对立面备择假设H1. 2.确立检验水准:即设立小概率事件的界值α. 3.进行试验:得到用于统计分析的样本,以该试验的结果作为假设 ...

  9. RestTemplate请求https忽略证书认证

    RestTemplate是Spring提供的用于访问Rest服务的客户端,提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率.RestTemplate 默认使用J2SE提供的方式( ...

  10. ubuntu14.04安装hadoop2.6.0(伪分布模式)

    版本:虚拟机下安装的ubuntu14.04(64位),hadoop-2.6.0 下面是hadoop2.6.0的官方英文教程: http://hadoop.apache.org/docs/r2.6.0/ ...