iOS将自己的框架更新到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'}
然后我们设置下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
若我们看
“你的podspec名字” passed validation
说明这个配置文件是没问题的。
若失败了。
我们就需要将远程tag删除 重新来过
- 删除tag
- //查看tag
- git tag
- //删除一个指定的tag,并上传一个空tag到远程tag
- git tag -d <tagname>
- git push origin :refs/tags/你的tag号
- 在验证通过之后我们需要将代码提交到cocopods
- pod trunk push "你的podspec名字".podspec --allow-warnings
- 如果没有出错 我们就算大功告成了。
- 通过pod search "项目名"去搜索你的第三方库吧。。
总结常见错误:
问题:
这种错误怎么办?
- - ERROR | [iOS] The `source_files` pattern did not match any file.
查了一些资料:
解决方法:
解决方法:将最后提交的开源框架的类的提交码在 xx.podspec 中改成这种:
- s.source = { :git => "https://github.com/XiaoHanGe/GCTools.git", :commit => "f705f8841d569b23cb5910dda8ee1e75659ddb9f" }
- s.source_files = "GCTools/*.{h,m}"
commit来自最后一次提交:在github上可以看提交记录后面的加密码:
git log: 也可以在终端查看
完美解决!如下:
iOS将自己的框架更新到cocopods上的更多相关文章
- iOS中 如何将自己的框架更新到cocopods上 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博! 为了更方便的集成第三方框架有了cocopods 的, 当我们有了相对比较好的框架的时候如何更新到cocopods ...
- 将自己的框架更新到cocopods上
为了更方便的集成第三方框架有了cocopods 的, 当我们有了相对比较好的框架的时候如何更新到cocopods 供他人参考呢? 下面我一步一步带大家开源自己的框架. 第一步 把自己的框架更新到git ...
- iOS 小知识点(持续更新)
1.如何通过代码设置Button title的字体大小 设置Button.titleLabel.font = [UIFont systemFontOfSize:<#(CGFloat)#> ...
- iOS - CocoaPods 第三方开源框架管理
1.CocoaPods CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具.CocoaPods 的项目源码在 Github 上管理.该项目开始于 2011 年 8 月 12 日,在这 ...
- iOS 开发之照片框架详解(1)
http://kayosite.com/ios-development-and-detail-of-photo-framework.html/comment-page-1 一. 概要 在 iOS 设备 ...
- iOS 开发之照片框架详解
转载自:http://kayosite.com/ios-development-and-detail-of-photo-framework.html 一. 概要 在 iOS 设备中,照片和视频是相当重 ...
- iOS 组件化路由框架 WisdomRouterKit 的应用
[前言] 大家好,写作是为了和读者沟通交流,欢迎各位开发者一起了解 WisdomRouterKit SDK 的功能. 关于 iOS 组件化路由方案框架: WisdomRouterKit 的功能介绍,之 ...
- iOS引入JavaScriptCore引擎框架(二)
为何放弃第一种方案 UIWebView的JSContext获取 上篇中,我们通过简单的kvc获取UIWebVIew的JSContext,但是实际上,apple并未给开发者提供访问UIWebVi ...
- iOS超全开源框架、项目和学习资料汇总(5)AppleWatch、经典博客、三方开源总结篇
完整项目 v2ex – v2ex 的客户端,新闻.论坛.apps-ios-wikipedia – apps-ios-wikipedia 客户端.jetstream-ios – 一款 Uber 的 MV ...
随机推荐
- 吐槽下微软的vs code编辑器
缺点:不能同时打开多个文件夹(打开多个文件夹得先ctrl+shift+N窗口或者除非你的所有项目文件都在同一个文件夹目录下) 优点是支持用户设置以及提供很多插件 // 将设置放入此文件中以覆盖默认设置 ...
- JAVA基础第一组(前5道题)
1.[程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔 ...
- Swing-JList用法-入门
注:本文所有素材均来源于How to Use Lists,本文为该文章的学习笔记. JList是Swing中的列表控件,形状如下所示: 实际上,JList有3种不同的样式: 分别为HORIZONTAL ...
- java第七次作业
1. 本周学习总结 参考资料: XMind 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 public boolean contains(Ob ...
- 201521123047 《Java程序设计》第4周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 答: - 只能有一个父类,即单继承,子类继承父类的全部成员(属性和方法),并可能有自己特有的 ...
- 201521123070 《JAVA程序设计》第2周学习总结
1. 本章学习总结 1.学习了string类: 2.了解了ArrayList的特性和使用方法: 3.学习了类名包名. 2. 书面作业 Q1.使用Eclipse关联jdk源代码(截图),并查看Strin ...
- 201521123049 《JAVA程序设计》 第2周学习总结
*1. 本周学习总结 1.复习了一遍基本类型:整数类型(byte,short,int,long,char).浮点类型(float,double).boolean类型(true, false). 2.了 ...
- 201521123075 《Java程序设计》第13周学习总结
1. 本周学习总结 协议 网络中为了进行数据交换(通信)而建立的规则.标准或约定(=语义+语法+规则),比如http, ftp等 IP层协议(Internet Protocol) Internet上的 ...
- [LeetCode]Count and Say 计数和发言
Count and Say 计数和发言 思路:首先要理解题意,可以发现后者是在前者的基础之上进行的操作,所以我们拿之前的结果作为现在函数的参数循环n-1次即可,接下来就是统计字符串中相应字符的个数,需 ...
- Mysql数据库文件、表、记录的增删改查
一.数据库文件夹的的操作 create database db1 charset utf8; 增加db1文件夹 show databases ; 查看所有数据库 show create databas ...