发布自己的pods到CocoaPods trunk 及问题记录
这两天准备把之前写的一些小玩意添加到pods库中去,参考了一些资料后进行操作,实际中也遇到了一些问题,记录下来,问题及解决方式在后面。
参考内容转载如下:
首先更新了用trunk之后,CocoaPods 需要0.33版本以上的,用 pod --version查看,如果版本低,需要更新,之前有介绍更新方法。
下一步注册trunk
pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'
你注册的时候需要替换邮箱和名字,加上 --verbose 可以看到详细信息。
然后顺利的话你会收到一份邮件,需要点击验证。
pod trunk me //查看自己的注册信息
当然,如果你的pod是由多人维护的,你也可以添加其他维护者
pod trunk add-owner ARAnalytics kyle@cocoapods.org
创建podspec
执行命令:
pod spec create HZWebViewController
会在当前目录下生成 HZWebViewController.podspec 文件,然后我们编辑这个文件。
podspec文件里面有很多注释。我们看个例子
一眼看去就很明白了,不用一一解释了,当然,这里的配置项远远多于这些。
ok这里配置完成之后,需要把你的源码push到github上,tag一个版本号并且发布一个release版本,这样podspec文件中的s.source的值才能是准确的。
这些操作也不属于本文的所研究的范畴。
提交
上面的工作完成之后,我们就可以开始 trunk push 了
pod trunk push 命令会首先验证你本地的podspec文件(是否有错误),之后会上传spec文件到trunk,最后会将你上传的podspec文件转换为需要的json文件
第一步验证podspec文件也可以自己去做 pod spec lint Peanut.podspec
成功部署之后,CocoaPods会在Twitter上@你
我们可以看看我们提交的名字为:HZWebViewController的pod
pod search HZWebViewController
我们也可以在本地的 ~/.cocoapods 路径下看到,转换之后的json文件
?实际操作中的问题:
1.pod验证本地podspec文件速度很快,使用pod trunk me查看自己的信息也能很快响应,但是当使用
pod trunk push命令时,需要非常的有耐心,因为这步的操作实在是耗时太久。
2.push成功之后,我尝试使用pod search命令查找自己的控件,发现无法搜索到,后来发现提交之后,需要使用pod setup命令进行库更新,实际更新时又是卡了很久,最后还是通过FQVPN操作成功的。期间还遇到了CocoaPods was not able to update the`master`这样的错误,最后通过删除之前的缓存 rm -fr~/.cocoapods/repos/master
再使用pod setup操作成功。
最后总结下操作步骤:
1.你的开源库发布之后,需要打上版本号tag,否则后续不能完成
2.注册pod trunk
pod trunk register xxx@xx'Your name' --description='macbook air'
2.cd到项目目录下,创建podspec文件
pod spec createYourPodProjectName
3.修改podspec文件中的相关信息,这很重要,校验,不能有任何警告或错误
pod spec lint YourPodProjectName.podspec
4.发布到pod trunk
pod trunk pushYourPodProjectName.podspec
5.更新pod库
pod setup
之后就可以搜索到并使用了。
发布自己的pods到CocoaPods trunk 及问题记录的更多相关文章
- 公布自己的pods到CocoaPods trunk 及问题记录
这两天准备把之前写的一些小玩意加入到pods库中去,參考了一些资料后进行操作,实际中也遇到了一些问题,记录下来.问题及解决方案在后面. 參考内容转载例如以下: 首先更新了用trunk之后,CocoaP ...
- 【原】iOS:手把手教你发布代码到CocoaPods(Trunk方式)
Change Log: 2015.08.20 - 添加podspec文件更新方法 2015.08.19 - 首次发布 概述 关于CocoaPods的介绍不在本文的主题范围内,如果你是iOS开发者却不知 ...
- 手把手教你发布代码到CocoaPods(Trunk方式)-备用
概述 关于CocoaPods的介绍不在本文的主题范围内,如果你是iOS开发者却不知道CocoaPods,那可能要面壁30秒了.直奔主题,这篇文章主要介绍如果把你的代码发布到CocoaPods代码库中, ...
- IIS发布网站 报错500.19 错误解决过程记录
首先先报上我的环境 WindowsServer 2012 IIS 8.5 网站是FrameWork 4.0 发布网站后浏览,报错信息如下: 解决过程记录如下: 1.看到这个问题首先想到的是权限问题,设 ...
- 使用 CocoaPods 遇到的问题记录
1. 在 Terminal 输入 Cocoapods 命令时,有时会一直等待,出现“Performing a deep fetch of the `master` specs repo to impr ...
- 如何发布自己的开源框架到CocoaPods【转】
在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中. 如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod install ...
- 让自己写的项目支持Cocoapods管理
学会使用别人的 Pods 依赖库以后, 你一定对创建自己的依赖库很有兴趣吧,现在我们一起来制作自己的Pods依赖库. 1.创建自己的 github 仓库 上图中标识出了6处地方 Repository ...
- [CocoaPods]使用Trunk进行设置
CocoaPods Trunk CocoaPods Trunk是一种身份验证和CocoaPods API服务.要将新的或更新的库发布到CocoaPods以进行公开发布,您需要在Trunk中注册并在当前 ...
- Cocoa包管理器之CocoaPods详解
CocoaPods在Cocoa开发日常工作中经常用到的包管理器,即依赖管理工具.有的项目也有用Carthage的,Carthage是一个比较新的依赖管理工具,是使用Swift语言开发的.Carthag ...
随机推荐
- JAVA程序操作hbase的Maven配置pom.xml文件
由于工作需要,用到Java连接Hbase读写数据.原来的方式是直接将依赖的jar包全部下载下来,然后工程里面引用. 现想重构下,改为使用Maven管理,遇到了各种坑,各种不好使,特总结下. <d ...
- [转]Meta http-equiv属性详解
http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变 ...
- 使用scp在windows和Linux之间互传文件
转自:http://yangzhongfei.blog.163.com/blog/static/4610987520103141050918/ 为了进行系统维护操作,有时需要再windows和linu ...
- Java(JCo3)与SAP系统相互调用
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- Python进阶(三)--global和类属性
global关键字 一句话概括为:告诉python解释器,global声明的变量为全局作用域内定义的变量.解释器就会到全局作用域内寻找global定义的变量. python的类属性 类属性相当于其他O ...
- UTF-8 ->GBK
/** * GBK->UTF8 */ //方法一 旧方法 //NSString *encode1 = [@"%E6%88%91" stringByReplacingPerce ...
- 剑指offer七:两个链表的第一个公共结点
输入两个链表,找出它们的第一个公共结点. import java.util.*; public class Solution { public ListNode FindFirstCommonNode ...
- 使用spring aspect控制自定义注解
自定义注解:这里是一个处理异常的注解,当调用方法发生异常时,返回异常信息 /** * ErrorCode: * * @author yangzhenlong * @since 2016/7/21 */ ...
- css实现div的高度填满剩余空间
css实现div的高度填满剩余空间 .top{ width: 100%; height: 70px;} .bottom{background-color: #cc85d9;width: 100%;po ...
- 急训 Day 1 (2)
Mushroom的区间[题目描述]Mushroom有一行数,初始时全部是0.现在Mushroom有m个区间[L,R],他希望用以下操作得到新的序列.从m个给定区间中选择一个区间[s,t],把区间中的数 ...