iOS 让自己的工具库支持 CocoaPods

前言

CocoaPods 三方库管理工具相信大家都不会陌生,开发工程中多多少少都有过接触,一方面它能够帮我们管理依赖库,三方库,另一方面,我们可以将自己的代码库提交给 CocoaPods 分享给他人,也能为自己的其他项目提供便捷的支持。那么,今天就简单介绍一下如何让自己的工具库支持 Cocoa Pods 集成。

必要条件

我们要先准备几项必要得东西。

  • 代码库

可以是 Git 项目,也可以是其他如码云,Coding 等其他平台得项目。

  • podspec 配置文件

这份文件用来描述你的项目信息,如项目名称、项目版本、项目地址、作者、资源文件等信息,它具有一定的语法规则,你可以通过 官方指导文件 了解更多信息。

  • CocoaPods 账号

账号记录了你在 CocoaPods 上所有发布的工具库信息,该账号可以在终端使用命令进行注册,后续会提到如何进行注册。

1. 代码库

本文以 Github 项目为例。先来创建一个自己的项目。关于如何使用 Github 你可以参考其他网络文章,这里不做过多的演示。

登录到 Github 上,创建你的项目,如果已经有了项目,可以跳过这个步骤

  • 创建项目


    创建项目
  • 创建测试文件并提交到远程 Git

将创建的项目 clone 到本地,使用的工具,方式都不限。为了测试工具的使用,你可以任意创建一个工具类,内容不限,最后将该文件提交至远程 Git 。

  • 发布项目

到代码库中构建 release 发布版本。你也可以在本地项目上打上 tag 推送到远程 Git,方式不限,我们只需要保证 Github 上有可以的发布版本就可以。

发布版本

为你的发布版本填写一些相关信息。
描述信息

2. podspec 配置文件

进入到项目文件夹。创建 podspec 文件。

我这里使用终端进行文件的创建。

$ touch yourProjectName.podspec

创建完成之后,我们来编辑这份文件。你可以在项目文件夹中找到这份文件,手动打开进行编辑即可。我这里依旧使用终端命令进行编辑。

$ vim yourProjectName.podspec

podspec 文件主要涉及到你项目名称、版本、简介、资源、平台等等信息

使用 i 进入编辑模式,编辑完成,点击 esc ,然后 shift+zz 退出编辑

该文件大体如下:


编辑内容

这里需要提到的就是资源文件的设置,你可以为你共享的资源文件创建一个单独的文件夹,将这些需要共享的文件都放在这个文件下。CocoaPods 会去下载你所设置的资源路径下的文件。

你可以通过 官方指导文件 了解更多关于 podspec 配置文件的语法信息。

3. 注册账号并上传 podspec 配置文件

现在我们已经发布的自己的项目,并且已经写好对应的 podspec 配置文件了,往事俱备,只欠东风。接下来,我们要把这份配置文件提交给 CocoaPods 即可。

  1. 注册 CocoaPods 账号

如果你没有 CocoaPods 账号,或者你在新的环境中没有连接过账号,你可以终端注册一个。

通过下面的命令来注册账号。

$ pod trunk register 邮箱地址 用户名 --description=描述信息
注册

根据提示登录你所注册的邮件进行激活即可。激活成功就会出现下面的提示。

激活成功

可通过下面的命令查看当前的 CocoaPods 账号信息。

$ pod trunk me
  1. 上传 podspec 配置文件

接下来,我们需要将本地的这份项目配置文件推送给 CocoaPods 服务器。

上传之前,最好先验证一下你的 podspec 文件格式是否通过校验。进入该文件所在的文件夹下,输入验证命令,无需指定文件名称即可校验 podspec 后缀的文件。

$ pod spec lint

如果发生错误,即 ERROR 提示,找到问题所在进行改正即可。

如果验证通过,输入下面命令将文件上传。

$ pod trunk push yourProjectName.podspec --allow-warnings

上传成功后,更新你本地的 repos 然后再搜索你的库。

$ pod repo update
$ pod search yourProject

如果依旧搜索不到,那么需要删除掉本地缓存的搜索索引文件,再重新执行搜索操作。

$ rm ~/Library/Caches/CocoaPods/search_index.json
$ pod search yourProject

也可以去官网搜索

  1. 更新框架版本

当你需要更新你的工具库时,你需要:

重新发布版本 -> 修改 podspec 文件信息 -> 上传 CocoaPods

是不是异常简单呢?快去试试吧。

总结

CocoaPods 工具极大提高了我们的开发效率,我们无需花费过多精力去管理依赖库和三方库。通过 CocoaPods 我们可以方便的将自己的工具库分享给他人使用。分享工具库只需要准备三个必要条件,一份代码库,一份配置文件,一个 CocoaPods 账号,有了这些准备,我们分享自己的工具仅仅需要花几分钟的时间而已。通过 CocoaPods 工具,我们可以随心所欲的分享、使用库。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,080评论 4 62
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,973评论 25 707
  • 天气清冷,落叶纷扰。 吻她的唇,她却冷漠地避开了。 "你有什么让我看的上的。" 苦涩,我没有回答。 "魏教授可以让...
    老熊sama阅读 114评论 3 1
  • 我们可以通过主动或被动的方式去获得知识,我们通过直接经验、测试和证实想法(比如科学实验中)或通过推理而主动的...
    邓洁儿阅读 166评论 0 1
  • 岁月流金,逝去的才是最美好的,而未得到的才弥足珍贵。
    廖阿大阅读 104评论 0 0