第一步

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

第二步

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

  1. // 进入到项目目录下
  2. cd xxx/xxx/xxx
  3. // 创建Podspec文件
  4. pod spec create “你的Podspec名字”

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

  1. Pod::Spec.new do |s|
  2. s.name = “项目名字”
  3. s.version ="版本号"
  4. s.summary = "项目介绍"
  5. s.homepage = "你的主页地址"
  6. s.license = "MIT" //这里就选这个许可证
  7. s.author ={"你的名字" => "邮箱"}
  8. s.platform =iOS,"最低支持的系统"
  9. s.source ={git =>"项目git地址",tag =>"tag号"}
  10. s.source_files = "text/*/.(h.m)" //这里是项目路径要传的文件
  11. s.framework ="UIKit" //依赖的系统库 可以依赖多个
  12. // 若需要依赖其他开源的第三方库 可以写成下列形式 若需要有多个就复制下面代码 添加第三方库
  13. // s.dependency "AFNetWorking"
  14. // 如果需要配置依赖系统库
  15. // s.framework = 'SomeFramework'// 设置依赖的系统库名称
  16. // s.frameworks = 'SomeFramework', 'AnotherFramework'//设置多个系统库名称
  17. // 需要依赖系统的library
  18. s.library = 'iconv'// 设置只依赖一个系统的library
  19. s.libraries = 'iconv', 'xml2' // 设置依赖多个系统的library
  20. // 这里是工程配置,这样使用者就不需要手动处理,由pod自动处理了
  21. s.xcconfig = {'HEADER_SEARCH_PATHS' =>'$(SDKROOT)/usr/include/libxml2'}

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

  $ git commit -m "说明"

  1. $ git tag 0.0.1 // tag 和上面你设定的一样 一般tag号和版本号一致
  2. $ git push --tags
  3. $ git push origin master

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

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

若我们看

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

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

  1. 删除tag
  2. //查看tag
  3. git tag
  4. //删除一个指定的tag,并上传一个空tag到远程tag
  5. git tag -d <tagname>
  6. git push origin :refs/tags/你的tag号
  1. 在验证通过之后我们需要将代码提交到cocopods
  2. pod trunk push "你的podspec名字".podspec --allow-warnings
  3. 如果没有出错 我们就算大功告成了。
  4. 通过pod search "项目名"去搜索你的第三方库吧。。

总结常见错误:

问题:这种错误怎么办?

  1. - ERROR | [iOS] The `source_files` pattern did not match any file.

查了一些资料:

解决方法:
解决方法:将最后提交的开源框架的类的提交码在 xx.podspec 中改成这种:

  1. s.source  = { :git => "https://github.com/XiaoHanGe/GCTools.git", :commit => "f705f8841d569b23cb5910dda8ee1e75659ddb9f" }
  2. s.source_files  = "GCTools/*.{h,m}"

commit来自最后一次提交:在github上可以看提交记录后面的加密码:

git log:   也可以在终端查看

完美解决!如下:

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

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

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

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

    为了更方便的集成第三方框架有了cocopods 的, 当我们有了相对比较好的框架的时候如何更新到cocopods 供他人参考呢? 下面我一步一步带大家开源自己的框架. 第一步 把自己的框架更新到git ...

  3. iOS 小知识点(持续更新)

    1.如何通过代码设置Button  title的字体大小 设置Button.titleLabel.font = [UIFont systemFontOfSize:<#(CGFloat)#> ...

  4. iOS - CocoaPods 第三方开源框架管理

    1.CocoaPods CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具.CocoaPods 的项目源码在 Github 上管理.该项目开始于 2011 年 8 月 12 日,在这 ...

  5. iOS 开发之照片框架详解(1)

    http://kayosite.com/ios-development-and-detail-of-photo-framework.html/comment-page-1 一. 概要 在 iOS 设备 ...

  6. iOS 开发之照片框架详解

    转载自:http://kayosite.com/ios-development-and-detail-of-photo-framework.html 一. 概要 在 iOS 设备中,照片和视频是相当重 ...

  7. iOS 组件化路由框架 WisdomRouterKit 的应用

    [前言] 大家好,写作是为了和读者沟通交流,欢迎各位开发者一起了解 WisdomRouterKit SDK 的功能. 关于 iOS 组件化路由方案框架: WisdomRouterKit 的功能介绍,之 ...

  8. iOS引入JavaScriptCore引擎框架(二)

    为何放弃第一种方案 UIWebView的JSContext获取     上篇中,我们通过简单的kvc获取UIWebVIew的JSContext,但是实际上,apple并未给开发者提供访问UIWebVi ...

  9. iOS超全开源框架、项目和学习资料汇总(5)AppleWatch、经典博客、三方开源总结篇

    完整项目 v2ex – v2ex 的客户端,新闻.论坛.apps-ios-wikipedia – apps-ios-wikipedia 客户端.jetstream-ios – 一款 Uber 的 MV ...

随机推荐

  1. MySQL中char与varchar区别,varchar最大长度是多少?

    一.首先来说下字符与字节的区别: 字符与字节它们完全不是一个位面的概念,所以两者之间没有"区别"这一说法.在不同编码里,字符和字节的对应关系是不同的.一般来说,半角英文状态下一个字 ...

  2. K好数--蓝桥杯

    JAVA版K好数--蓝桥杯 历经千辛万苦,也算是研究出来了这道题了. 这道题主要运用了动态规划(Dynamic Planning)的思想,何谓动态规划?其实就是将一个大问题分成一个个小问题,然后先通过 ...

  3. CentOS6.5下LNMP环境的搭建

    #写的不好,大牛勿喷 #其实我很努力 OS:CentOS6.5 1.关闭SELinux,关闭防火墙 原因:1.SELinux确实可以提高服务器的安全性,但是对于服务器的性能存在一定的影响,同时它的复杂 ...

  4. 微信小程序swiper标签的测试

    swiper属性(具体看官方文档): 一:testswiper.wxml的代码如下.testswiper.js自动生成示例代码. //testswiper.wxml <view > < ...

  5. 201521123077 《Java程序设计》第8周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 泛型类 利用泛型可以写出一个更加通用的类,比如下面的例子: class simpleHolder<T&g ...

  6. 201521123064 《Java程序设计》第4周学习总结

    1. 本章学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. ① 以上周PTA实验"形状"为例,Circle类和Rectangle类中 ...

  7. 201521123067 《Java程序设计》第9周学习总结

    201521123067 <Java程序设计>第9周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 Q1.常用异常(题目5-1 ...

  8. 201521123079《java程序设计》第9周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己 ...

  9. 在linux下通过hexdump生成一个十六进制的文本保存文件,解析此文件转变成正常源代码文件。

    举例说明: 此十六进制保存的文件为此源代码hexdump生成的: #include<stdio.h> #include<string.h> #include<stdlib ...

  10. linux(5)--补充(管道| / 重定向> / xargs)/find 与xargs结合使用/vi,grep,sed,awk(支持正则表达式的工具程序)

    本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下一. 管道| / 重定向> / xargs 如:1. 管道和重定向的区别:具体可以见 http://www. ...