使用Cocoapods创建私有库Pods(脚本篇)

上一篇尝试了创建自己的pod私有库,步骤还算简单,但是有些重复性工作能不能用脚本代替呢?当然自己的功力还没达到那个火候,只有借别人的轮子,偶然的一个机会找到了casa大神在github上有一个脚本,脚本地址。脚本提供了podspec,gitignore,readme.md,podfile,license模板,通过config.sh配置当前项目,就可以给将要组件化的项目添加这些必要的文件,然后在通过upload.sh脚本就可以提交podspec文件到repo去。接下来就简单介绍一下脚本的使用步骤吧。

步骤一 下载脚本

这里下载脚本,ConfigPrivatePod文件夹中包含一个config.sh脚本文件和一个templates文件夹,templates文件夹里全是所需要的模板文件,在配置并执行了config.sh脚本后,会为我们的项目生成项目特定的文件。

文件目录目录.png

步骤二 创建私有源仓库,配置模板

在公司自己的服务器或者在GitHub上创建一个作为私有库的仓库,这里我创建的仓库名字为:XLZGComponent,仓库地址为:http://*****/XLZGComponent.git。
首先,向Cocoapods的repo添加我们创建的私有库,添加命令:

pod repo add XLZGComponent http://*****/XLZGComponent.git

接着,修改templates文件夹中的podfile模板,如下:

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

//这里就是自己的私有源地址(我们刚刚创建的)
source 'http://*****/XLZGComponent.git'
//GitHub的源地址
source 'https://github.com/CocoaPods/Specs.git'

target '__ProjectName__' do
  # Uncomment this line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

end

继续,修改upload.sh脚本中私有库名字,如下:

pod repo push 自己的私有库名字 __ProjectName__.podspec --verbose --allow-warnings

我的就是这样的:

pod repo push XLZGComponent __ProjectName__.podspec --verbose --allow-warnings

步骤三 创建项目工程,工程的git仓库

创建一个工程项目,这个项目中将有我们一会儿需要pod的源文件。由于使用脚本,所以要注意项目和脚本文件的层级,我的是这样的:

文件层级.png

我的PodTest文件下放了ConfigPrivatePod脚本文件夹,testA为我的工程项目,在git服务器上创建一个testA的git仓库:http://*****/testA.git。

步骤四 配置并执行config.sh

终端cd到 ConfigPrivatePod 文件夹,运行脚本:

./ConfigPrivatePod.sh

按提示输入项目的HTTPS Repo URL ,SSH Repo URL ,HOME Page URL地址,我这里就是输入testA相关地址。配置好了,就可以发现我们项目文件下面多了一些东西:

详情.png

说明:因为在实际使用中,我们不可能pod整个项目到我们项目中去,只会pod一些类文件或者资源文件。所以我在项目中创建了一个和项目名一样的文件夹testA,里面有一个类,这个就是一会儿将作为第三使用的类。而且casa的这个脚本在创建podspec文件里设置源文件路径也是在项目文件夹下与项目名一样的文件夹。也不知道说清楚没有,也就是要使用这个脚本,需要在xcode项目名目录下创建一个和项目名一样的文件夹里面放要作为第三方的文件。当然这不是必须,只是为了脚本,当然可以根据自己的需要修改脚本。还是觉得好绕,就说到这里吧,下面是xcode层级:

xcode层级.png

注意:放A_catergory类的文件夹testA在项目中必须是一个物理存在的一文件夹。

步骤五 提交项目到git仓库,发版

参照前一篇,发版那一步,这里

步骤六 提交podspec文件到repo去

cd到templates文件下,执行upload.sh脚本:

 ./upload.sh

最后

最后就可以像使用AFNetworking一样pod使用了,具体使用方法参照前一篇,使用步骤,这里

总结

终于写完了,写的好纠结,总觉得没写清楚,没有清楚的表达出具体的步骤。如有不懂得地方,请留言,或者私信,一起探讨,有不对的地方也请大家指出,我立刻改正。自己也了好几篇文章,写文章不容易,写一篇通俗易懂的文章更不容易,这也许是我坚持写的原因,希望有一天能让自己想表达的通过文字完全的表达出来,写文章还有一个好处,让自己再一次梳理逻辑,让逻辑更清晰,记忆更深刻。在此感谢casa大神。

分享是一件快乐的事情!

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

推荐阅读更多精彩内容

  • Cocoapods是非常好用的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,以及将自...
    Nash33阅读 2,078评论 0 50
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,566评论 18 139
  • 学习新知识必然是一个踩坑的过程,这两天看了下pod私有库的创建,总体来说还是比较简单的,但是中间踩了一个坑,也不能...
    Yasin的简书阅读 1,815评论 4 11
  • 第三句。 第三句話說, 003 Few phenomena gave me more delight than t...
    演維阅读 345评论 0 0
  • 做你喜欢的工作,不能保证会成功,但能保证你会快乐。 这种快乐,来自你全身心投入,每天都在进步的满足感。 有人说,选...
    Cathy颖阅读 159评论 0 0