使用CocoaPods创建私有库

私有pod库的创建和使用简单介绍:

1.创建并设置一个私有的Spec Repo

我们在git上面需要先创建一个 Spec Repo 仓库,公开的Pods都在这个里面,Spec Repo相当于是一个容器。这个git仓库直接创建成私有的即可(我们是私有的 Spec Repo,所以尽量是创建私有的git仓库),完成创建后需要将 Spec Repo 添加到我们本地的CocoPods中,命令如下:

// pod repo add  [Private Repo Name] [GitHub HTTPS clone URL]
$ pod repo add ANTestPodSpec git@gitlab.anniu-inc.com:zhixing.gu/ANTestPodSpec.git
2.创建Pod项目工程文件

我们在git上再创建一个存放代码的私有库,主要存放我们的代码。clone到我们本地。
Cocopods提供有一个工具,相关的文档介绍:http://guides.cocoapods.org/making/using-pod-lib-create,我们使用这个开始创建项目。首先,我们需要 cd 到我们项目的目录(git上创建的代码库目录),然后执行我们下面的命令:


$ pod lib create ANAppReviewPodDemo

#这里他会询问我们4个问题
#1.是否需要一个工程    我的选择:Yes
#2.选择一个测试框架   我的选择:Expecta
#3.是否基于View测试  我的选择:Yes
#4.类的前缀  我的选择:AN

执行完毕他会自动执行 pod install 命令创建项目并生成依赖,我们可以看到我们代码库的目录结构大致是这样的

DEA9D1357C6879EA32BF44E8DA495CE1.png
目录介绍:
Example: #DemoApp
LICENSE: #开源协议,默认MIT
README.MD : #markdown格式的README
ANAppReviewDemo.Podspec : #创建的podSpec文件,他是一个ruby文件,使用Xcode打开就可以看到语法高亮。subline也可以直接进行修改。下面是我这边配置的一个截图:
podSpec配置.png

ANAppReviewPodDemo:#这里是我们之后的文件要对应放置。里面有一个Classes,下面放的是.h和.m加.pch文件等。Assets存放的则是我们的图片资源和Xib资源。 这里需要注意的一点就是我们不管是资源还是类文件都是要对应在下面的文件中放置的。然后我们不需要手动拖入项目中,直接执行pod install即可,他会自动给我们添加进去

3.创建好工程后我们就按照刚下面目录介绍哪里去进行配置即可。

之后我们打开项目可以看下工程里面的目录情况:
444406B9242F00354CCE25628F5B0597.png

这里面的文件是我这边将之前其他pod库中的文件拿过来直接使用的,所以你们也可以直接将项目中的文件这样整理进来。到这里我们项目都已经差不多好了,需要我们验证我们的Spec文件 和发布版本。

4.验证podSpec文件

编辑完podSpec文件后我们需要验证一下是否管用。通常网上很多博文再说到验证podSpec文件时大多数给出的命令则是 pod lib lint,当然确实是使用这个去验证,但是我们在podSpec文件中添加有依赖的时候就会提示验证失败。所以这个时候一般操作应该是这样的:
项目中有添加依赖的则执行下面的命令

#pod lib lint --sources=依赖的文件git地址
$ pod lib lint --sources=git@gitlab.anniu-inc.com:frontend/iOS_pods/QLPodSpec.git,https://github.com/CocoaPods/Specs.git --verbose --allow-warnings --use-libraries

如果项目中没有其他依赖则执行下面的命令

$ pod lib lint

验证成功则可以直接执行下面的第5步。如果有ERROR存在则说明验证不成功,那么需要按照ERROR去修改问题。

5.向Spec Repo 提交podspec

向Spec Repo提交podSpec需要完成的点必须是验证通过的。否则无法向Spec Repo提交我们的podSpec。执行之前我们将代码库文件提交到git上面,然后给我们此次提交的代码加一个tag。然后我们项目中 .podSpec 里面则需要在s.version 这里改为和我们git上加的tag一样即可。做好之后执行下面命令:

#这里 ANTestPodSpec 是我们在git上创建的Spec Repo仓库名称。 ANAppReviewPodDemo.podspec是我们git代码仓库里面刚创建的ruby文件。如果项目中有依赖,那么在发布的时候要加上source参数
$ pod repo push ANTestPodSpec ANAppReviewPodDemo.podspec --use-libraries --verbose --allow-warnings

发布成功之后我们只需要在终端中执行下面的命令查询到即可:

 $pod search ANAppReviewPodDemo

这里我们也可以在终端中执行

$cd ~/.cocoapods/repos/
$open .

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

推荐阅读更多精彩内容