Cocopod上更新上传自己的开源框架供别人下载
为了更方便的集成第三方框架有了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'}
然后我们设置下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: 也可以在终端查看
完美解决!如下:
Cocopod上更新上传自己的开源框架供别人下载的更多相关文章
- Android如何制作自己的依赖库上传至github供别人下载使用
Android如何制作自己的依赖库上传至github供别人下载使用 https://blog.csdn.net/xuchao_blog/article/details/62893851
- 利用开源框架Volley来下载文本和图片。
Android Volley是Android平台上很好用的第三方开源网络通信框架.使用简单,功能强大. 下载连接地址:http://download.csdn.net/detail/zhangphil ...
- Android 文件上传 使用AsyncHttpClient开源框架
public void upload(View view) { AsyncHttpClient client = new AsyncHttpClient(); RequestParams reques ...
- 基于NetCore+SqlSugar+Layui开发出来的开源框架项目FytSoaCms问题处理
最近刚好在学习NetCore框架所以就在网上搜索了一下相关的开源框架项目,正好在Github上找到了一个不错的开源框架所以推荐给大家看看哈哈哈. 1:项目相关技术 运行NetCore SDK版本为2. ...
- Android(java)学习笔记214:开源框架的文件上传(只能使用Post)
1.文件上传给服务器,服务器端必然要写代码进行支持,如下: 我们新建一个FileUpload.jsp的动态网页,同时我们上传文件只能使用post方式(不可能将上传数据拼凑在url路径下),上传数据Ap ...
- 找呀志_通过开源框架引AsyncHttpClient上传文件
一个.步骤: 1.加入权限(接入网络和可写) 2.获取上传文件的路径和推断是空的 3.如果为空.创建一个异步请求对象 4.创建上传文件路径 5.跑post请求(指定url路径.封装上传參数.新建Asy ...
- Android(java)学习笔记157:开源框架的文件上传(只能使用Post)
1.文件上传给服务器,服务器端必然要写代码进行支持,如下: 我们新建一个FileUpload.jsp的动态网页,同时我们上传文件只能使用post方式(不可能将上传数据拼凑在url路径下),上传数据Ap ...
- 如何使用github上传自己的开源项目教程
注意: 此教程只针对iOS项目,其他项目请参考此网站 http://jingyan.baidu.com/article/b907e627aadbb246e7891cf1.html 首先进入github ...
- 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发
[原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文 http: ...
随机推荐
- 在Web api2 中传递复杂参数的一点心得
这两天在做的一个项目基于webapi2,期间遇到了复杂参数传递的问题.其中刚好看到园友的这篇文章,但是我测试收结果是失败的,还不知道是什么原因.最终经过思考后,找到了一种方法,和大家分享下. 在前端我 ...
- ASP.NET MVC 在WebService中Token的使用方法
最近发现公司接口的验密方式很简单,就是简单的用户名密码校验.客户方面的负责人说要修改一下,所以想起了微信的验证密码的方式故写了这个Demo以供大家学习参考: 接口:WebService 方式:Toke ...
- php进程的SIGBUS故障
某个子站是php写的,访问的时候nginx时不时会冒出现502错误,高峰时更频繁,检查php-fpm的日志发现大量的 child exited on signal 7 (SIGBUS),并且和acce ...
- centos7安装python-pip
在使用centos7的软件包管理程序yum安装python-pip的时候会报一下错误: No package python-pip available. Error: Nothing to do 说没 ...
- Linux SELinux命令
getsebool与setsebool工具 说明:SELinux规范了许多boolean数值清单档案,提供开启或关闭功能存取项目,而这些值都存放在/selinux/booleans/目录内相关档案,这 ...
- poj 3237 Tree [LCA] (树链剖分)
poj 3237 tree inline : 1. inline 定义的类的内联函数,函数的代码被放入符号表中,在使用时直接进行替换,(像宏一样展开),没有了调用的开销,效率也很高. 2. 很明显,类 ...
- 【Android 我的博客APP】1.抓取博客首页文章列表内容——网页数据抓取
打算做个自己在博客园的博客APP,首先要能访问首页获取数据获取首页的文章列表,第一步抓取博客首页文章列表内容的功能已实现,在小米2S上的效果图如下: 思路是:通过编写的工具类访问网页,获取页面源代码, ...
- 写一个iOS VoIP应用需要知道什么?
IOS编程--VoIP解密 一般来说, IOS很少给App后台运行的权限. 仅有的方式就是 VoIP. IOS少有的为VoIP应用提供了后台socket连接,定期唤醒并且随开机启动的权限.而这些就是I ...
- 合工大 OJ 1322 窗口
窗口 Description 在某图形操作系统中,有N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域.窗口的边界上的点也属于该窗口.窗口之间有层次的区别,在多于一个窗口重叠的区域里, ...
- jquery模拟下拉框单选框复选Select,Checkbox,Radio
在项目中,你会发现设计稿中常常会有单选框,复选框,但都不是系统默认的样式,这就可以用jquery来模拟它们:如图所示,实现它们所需要的代码如下: 首先需要引入的代码: <link rel=&qu ...