这两天准备把之前写的一些小玩意添加到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 及问题记录的更多相关文章

  1. 公布自己的pods到CocoaPods trunk 及问题记录

    这两天准备把之前写的一些小玩意加入到pods库中去,參考了一些资料后进行操作,实际中也遇到了一些问题,记录下来.问题及解决方案在后面. 參考内容转载例如以下: 首先更新了用trunk之后,CocoaP ...

  2. 【原】iOS:手把手教你发布代码到CocoaPods(Trunk方式)

    Change Log: 2015.08.20 - 添加podspec文件更新方法 2015.08.19 - 首次发布 概述 关于CocoaPods的介绍不在本文的主题范围内,如果你是iOS开发者却不知 ...

  3. 手把手教你发布代码到CocoaPods(Trunk方式)-备用

    概述 关于CocoaPods的介绍不在本文的主题范围内,如果你是iOS开发者却不知道CocoaPods,那可能要面壁30秒了.直奔主题,这篇文章主要介绍如果把你的代码发布到CocoaPods代码库中, ...

  4. IIS发布网站 报错500.19 错误解决过程记录

    首先先报上我的环境 WindowsServer 2012 IIS 8.5 网站是FrameWork 4.0 发布网站后浏览,报错信息如下: 解决过程记录如下: 1.看到这个问题首先想到的是权限问题,设 ...

  5. 使用 CocoaPods 遇到的问题记录

    1. 在 Terminal 输入 Cocoapods 命令时,有时会一直等待,出现“Performing a deep fetch of the `master` specs repo to impr ...

  6. 如何发布自己的开源框架到CocoaPods【转】

    在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中. 如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod install ...

  7. 让自己写的项目支持Cocoapods管理

    学会使用别人的 Pods 依赖库以后, 你一定对创建自己的依赖库很有兴趣吧,现在我们一起来制作自己的Pods依赖库. 1.创建自己的 github 仓库 上图中标识出了6处地方 Repository ...

  8. [CocoaPods]使用Trunk进行设置

    CocoaPods Trunk CocoaPods Trunk是一种身份验证和CocoaPods API服务.要将新的或更新的库发布到CocoaPods以进行公开发布,您需要在Trunk中注册并在当前 ...

  9. Cocoa包管理器之CocoaPods详解

    CocoaPods在Cocoa开发日常工作中经常用到的包管理器,即依赖管理工具.有的项目也有用Carthage的,Carthage是一个比较新的依赖管理工具,是使用Swift语言开发的.Carthag ...

随机推荐

  1. C# API项目代码正确 ,页面出不来的问题

    C# API项目代码正确  页面出不来的问题,截图如下: 解决方法: 在项目里设置好[起始页],就可以了.

  2. 第一、初识C语言

    1·C语言强大而灵活,如python,LISP,FORTRAN,Perl,Logo,BASIC,PASACAL的编译器和解释器都是C语言编写的. 2·C语言的指针错误往往难以察觉,但这恰好告诉我们,一 ...

  3. ACM 杭电HDU 2084 数塔 [解题报告]

    数塔 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  4. Hibernate的性能优化问题

    本文是根据Hibernate帮助文档,以及一些书籍及项目经验整理而成,只提供要点和思路,具体做法可以留言探讨,或是找一些更详细更有针对性的资料. 初用Hibernate的人也许都遇到过性能问题,实现同 ...

  5. 微软亚洲实验室一篇超过人类识别率的论文:Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification ImageNet Classification

    在该文章的两大创新点:一个是PReLU,一个是权值初始化的方法.下面我们分别一一来看. PReLU(paramter ReLU) 所谓的PRelu,即在 ReLU激活函数的基础上加入了一个参数,看一个 ...

  6. 启动受管服务器出现:unable to get file lock, will retry...

    启动受管服务器出现:unable to get file lock, will retry... 解决方法:一.删掉Domain下的*.lok文件1. 删除edit.lok进入到domain_home ...

  7. SCOI2005栅栏

    Description 农夫约翰打算建立一个栅栏将他的牧场给围起来,因此他需要一些特定规格的木材.于是农夫约翰到木材店购买木材.可是木材店老板说他这里只剩下少部分大规格的木板了.不过约翰可以购买这些木 ...

  8. 如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion

    对这几个概念模模糊糊,看到一篇文章就记录下来. 当你发布一个应用之后,(取决于具体的发布时间)可能没过几个月 Android 系统就发布了一个新版本.这对你的应用意味着什么,所有东西都不能用了?别担心 ...

  9. 【转】 XDC介绍

    转:http://blog.sina.com.cn/s/blog_693301190100sitz.html XDC是TI公司为嵌入式实时系统可重用软件组件(在XDC里被成为packages,以下成为 ...

  10. python编程(一)汉诺塔

    题目描述 编写move(n, a, b, c)函数,它接收参数n,表示3个柱子A.B.C中第1个柱子A的盘子数量,然后打印出把所有盘子从A借助B移动到C的方法. 例: move(3, 'A', 'B' ...