CocoaPods库的制作

目录

  • 具体步骤
  • 私有库的制作(上)
  • 私有库的制作(下)

一、具体步骤

1.1 准备仓库与必要的文件
  • 弄一个仓库,比如PodZHH
  • 创建一个文件夹PodZHH存放有效代码(仅有Public.h与Public.m)
  • 在终端执行pod spec create PodZHH,会生成PodZHH.podspec, 然后编辑这个文档,强烈建议用vim编辑.如何编辑,请百度一下,或者参考PodZHH
  • 在一切正确的情况下,提交到远程仓库.
  • 还有一步是打一个对应的标签, 否则在push到仓库的时候会报错的.
1.2 开始生产库的过程

在这一步,我遇到的坑.CocoaPods的版本是1.1.1.导致一直不能成功,总是提示如下错误:


AbortTrap

升级到1.2.0之后就没有问题了.

以下操作均在终端执行

  • pod lib lint --allow-warnings. 用于验证PodZHH.podspec的正确性
  • pod trunk register 771722918@qq.com PodZHH.podspec . 用于注册PodZHH.podspec.注册成功会给发邮件,点击链接即可.
  • pod trunk me, 用于查看记录
  • pod trunk push PodZHH.podspec , 用于推送到公开的cocoaPods.
    提示如下信息,说明可以使用:

🎉 Congrats

🚀 PodZHH (1.0.0) successfully published
📅 February 16th, 03:34
🌎 https://cocoapods.org/pods/PodZHH
👍 Tell your friends!


但是有一个问题,我执行pod search PodZHH,竟然没有找到.但是能正常的在项目中应用.

二、私有库的制作(上)

上面的方式是属于公有方式,任何开发者都能访问.那么如何制作一个私有的cocoaPod库呢?一般是用于公司内部用的库.其实也很简单,具体步骤如下:

  • 创建一个私有(private)仓库
  • 创建一个文件夹 PodZHHPrivate 存放有效代码
  • 在终端执行pod spec create PodZHHPrivate,会生成PodZHHPrivate.podspec, 然后编辑这个文档.
  • 在一切正确的情况下,提交到远程仓库.
  • 使用 pod lib lint 命令验证是否通过.

这样就 OK 了.是不需要 pod trunk 操作的.

在使用上有什么区别呢?请看下图:

公有与私有在Podfile文件中的使用方法

特别说明:

  • 1 这种方式实际没有添加到任何的 Specs 中,仅仅是一种简单的配置而已。只能说通过这样的配置,可以使用 pod 来管理而已。实际上并不是真正的 Specs。
  • 2 以这种方式弄的私有库,在Podfile中用到私有库的话,是需要私有库的账号与密码才能安装成功的。

三、私有库的制作(下)

接下来是一种比较专业的私有库的制作方法。有自己的 Specs,接下来一步一步的实现。

3.1 创建一个Specs

如同 HGSpecs,就是一个简单的仓库而已。然后 clone 到本地:

pod repo add CoderHG https://github.com/GitHubZHH/HGSpecs.git

这里的 clone 与我们通常的 clone 不一样,其中 CoderHG 是在本地的名字,按照自己的规则,随便命名。具体 clone 到什么地方了呢?可以通过这个命令在终端查看:

pod repo

这个命令会将你本地的所有库都列出来:
类似这样的:


pod repo

到现在为止,我们的一个 Specs 就准备好了。

3.2 添加 pod 到 Specs

现在我以这个项目为例子:Categorys

通过命令clone 到本地:

git clone https://github.com/Summary2017/Categorys.git

clone 结束之后 cd 到这个项目中:


image.png

因为里面已经有一个 HGCategorys_Private.podspec 的文件,所以我就直接将这个在终端执行这个命令:

pod lib lint HGCategorys_Private.podspec --verbose --use-libraries --allow-warnings --no-clean

为了检测一下自己写的 HGCategorys_Private.podspec 文件是否合格。

通过之后, 再进行 push 操作。然后就是这个命令:

pod repo push CoderHG HGCategorys_Private.podspec --verbose --use-libraries --allow-warnings

注意 CoderHG 代表的就是本地的 Specs 文件夹,关联了本地的文件夹的话,到时候会自动的做匹配,不会 push 到其它的 Specs 中去。

看到类似的打印, 就说明成功了:


image.png
3.3 使用

创建一个项目 PodDev, 然后 cd 进入这个项目,执行命令:

pod init

自动生成一个 Podfile 文件, 然后打开 Podfile 文件进行编辑,通常我们这样写就可以了:

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'PodDev' do
  pod 'HGCategorys_Private'

end

执行这个命令看一下结果:

pod install

是这样的:


image.png

提示没有找到这个 specification, 其实也是情有可原的,毕竟我们弄的这个库是在我自己的 Specs 中的,默认情况下,install 与 update 的时候是到 https://github.com/CocoaPods/Specs.git 中去找,所以我们需要指定一下,修改为这样的:

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

# 公有的 Specs 地址
source 'https://github.com/CocoaPods/Specs.git'
# 私有的 Specs 地址
source 'https://github.com/GitHubZHH/HGSpecs.git'

target 'PodDev' do
  pod 'HGCategorys_Private'

end

在头部指定一下 source 就可以了。

然后再执行 :

pod install

成功!!!

具体详情,请参考:private-cocoapods

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

推荐阅读更多精彩内容