这两天准备把之前写的一些小玩意添加到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. tomcat部署web项目的3中方法

    1.直接把项目复制到Tomcat安装目录的webapps目录中,这是最简单的一种Tomcat项目部署的方法,也是初学者最常用的方法. 2.在tomcat安装目录中有一个conf文件夹,打开此文件夹,其 ...

  2. dsp 28377在线升级 实例总结

    使用dsp品台28377d来实现在线升级的功能. 方案 : 升级程序  +  应用程序 升级程序 : 主要的目的是将上位机发送过来的应用程序数据(ccs编译生成的.bin文件)烧写到指定位置,之后在跳 ...

  3. OpenCV从入门到放弃系列之——如何扫描图像、利用查找表和计时

    目的 如何遍历图像中的每一个像素? OpenCV的矩阵值是如何存储的? 如何测试我们所实现算法的性能? 查找表是什么?为什么要用它? 测试用例 颜色空间缩减.具体做法就是:将现有颜色空间值除以某个输入 ...

  4. [Linux]cmd to use

    0x01 Linux Perfermance Analysis in 60s 1> uptime ---load averages 2> dmesg -r | tail ---kernel ...

  5. FFmpeg官方文档之————先进音频编码(AAC)

    先进音频编码(AAC)的后继格式到MP3,和以MPEG-4部分3(ISO / IEC 14496-3)被定义.它通常用于MP4容器格式; 对于音乐,通常使用.m4a扩展名.第二最常见的用途是在MKV( ...

  6. dubbo & zookeeper & springMVC

    一.安装准备 1.环境简介 名称 版本 OS Mac OS X 10.11.5 JDK 1.8.0_51 dubbo 2.5.4 tomcat 8.0.35 Zookeeper 3.4.8 maven ...

  7. angular中ng-repeat ng-if 中的变量的值控制器中为什么取不到

    这个问题的本质是:v-repeat会产生子scope,这时你在控制器里拿值,相当于父scope里面取子scope的值,因为Angular.js中作用域是向上查找的,所以取不到. 操作过程如下: 相关代 ...

  8. python 中字典实用操作

    1.字典转化为列表 a={"username":"12","password":"89"} print a.items( ...

  9. 数据库DDL审计

    一.为什么需要数据库DDL审计? DDL在生产系统中扮演非常重要的作用. 1)首先从业务角度来说,DDL可能意味着表结构变更,意味着新的版本即将发布,是个重要的时刻. 2)其次从运维角度来说,DDL尤 ...

  10. 【安全测试】sqlmap安装方法

    参考资料:http://jingyan.baidu.com/article/60ccbceb64cc2064cbb19748.html SQLMap是利用Python语言写的,所以需要将Python这 ...