第一步

把自己的框架更新到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. 自制裸眼3D图【推荐】

    Welcome to the World of Hidden 3D Stereograms.欢迎进入隐身3D图的世界! 网址:http://hidden-3d.com 裸眼立体图是什么? 立体图是立体 ...

  2. 第二次项目冲刺(Beta阶段)--第六天

    一.站立式会议照片 二.项目燃尽图 三.项目进展 1.继续完成docx文件的读取,听取助教的意见采用原型法,先简单写了一个可运行的docx文件的读取类,还是无法实现docx的读取,异常,但是该导入的j ...

  3. Java-错误处理机制学习(一)异常处理

    注意:本文介绍Java中的异常处理理论知识及相关语法结构,对于实际应用来说是万万不够的.关于如何高效地使用异常,请查看Java-高效地使用Exception-实践. 异常处理的思想是,当应用程序处于异 ...

  4. 201521123035《Java程序设计》第十三周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu ...

  5. Java第十一周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) ...

  6. apache: apache-tomcat-6.0.35完整下载

    Index of /dist/tomcat/tomcat-6/v6.0.35/bin Name Last modified Size Description Parent Directory - ex ...

  7. 移动商城第四篇【Controller配置、添加品牌之文件上传和数据校验】

    Controller层配置 编写SpringMVC的配置文件 springmvc.xml <?xml version="1.0" encoding="UTF-8&q ...

  8. java进程/线程;堆和栈;多线程

    一.进程和线程 进程:在内存中运行的应用程序,一个exe是一个进程. 如:ps -exf  可以查看各个应用的进程,其中ppid为父进程: ps aux | egrep '(cron|syslog)' ...

  9. 【轉】JS,Jquery获取各种屏幕的宽度和高度

    Javascript: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.b ...

  10. 使用JavaScript实现ATM取款机

    ATM机需求描述如下: 假设一个简单的ATM机的取款过程为:  首先提示用户输入密码(password),假设默认密码为111111,最多只能输入3次,  超过3次则提示用户"密码错误,请取 ...