图文解析--(trunk方式)手把手叫你如何把代码上传至CocoaPods

一、概述

CocoaPods应该是iOS最常用最有名的类库管理工具了,通过CocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,掌握CocoaPods的使用是必不可少的基本技能了。OK,话不多说。上干货!

二、准备工作

1.一台已经安装了CocoaPods的电脑,而且版本至少是0.33版本。打开终端输入$ pod --version查看当前pod版本。如果尚未安装或者版本过低的童鞋,请自行升级或安装!安装更新参考文档
2.如果不会使用终端命令将代码放到Git上的童鞋,请自行下载Git客户端sourceTree中文版!(当然如何将代码上传到git,客官先别急,请往下看)!
3.Sublime Text文本编辑器,我们要使用它编辑.podspec文件!

三、准备工作结束,开始分步操作!

1.将代码上传至Github

(1).在Git上创建项目!(****本次演示Demo只为教学效果,这个demo在演示之前就已经上传了Git,但是没有上传CocoaPods,所以,会有提示!***)!创建项目时需要注意,项目名称(唯一),README,Gitignore,license(如无特殊,选择MITLicense)!如下图!
97BA195F-91CD-436F-A64D-FA7751C29BB7.png

(2).将在Git上创建的库,通过sourceTree克隆到本地!打开sourceTree,选择右边设置按钮!
5C2C23C0-6F11-49DB-B19D-A875FFEC0F96.png

打开后选择底部添加按钮来添加你的Git账号!
F771A0A3-E38D-440B-A02C-971B79A0DD63.png
协议的话如果不会弄SSH,那就选择HTTPS吧。链接成功后,在sourceTree客户端中选择远端。这样就会看见你在git上所有的库!然后克隆到本地!简单吧!

(3)将你的源码放到git库所在本地的文件夹内(下图演示的文件夹结构)

1A14C27D-6FBE-454D-B06F-05ED6CC29633.png
操作之后你的sourceTree就会有你的文件改动信息(如果没有变动信息,那就去Git的本地库中找到.git文件,这是隐藏文件,如何显示隐藏文件。输入隐藏命令之后,千万要记得重启find哦。重启之后,再次打开文件夹就会发现.git文件,把他删除掉就ok了。
8D6FD9E5-F8EF-4063-BEE7-9E3BFC90A326.png
然后双击打开选择提交然后推送
3619693D-F9B5-4CB5-9B47-EC2FA14F7651.png
就上去喽!

2.创建并编辑.podSpec文件

(1).创建打.podSpec文件。开终端,切换路径。然后输入pod spec create xxxxxxx,例如我要输入pod spec create ZXCCalender

4DCC0BB4-4AC0-438E-AC24-E66AA0BFEE31.png
然后你会发现你的文件夹呢出现一个xxxxxx.podSpec文件。

(2).编辑.podSpec文件。使用Sublime Text打开.podSpec文件。里面有很多的配置文件,文件讲解如下。

s.name:名称,pod search 搜索的关键词,注意这里一定要和.podspec的名称一样,否则报错
s.version:版本号 注意这里的版本号不能高于你项目在Git的版本号(那如何在Git上打版本,客观别急,请往下看!)
s.summary: 总结、概要
s.description :描述

s.homepage:项目主页地址(url)
image.png
s.license:许可证
s.author:作者
s.ios.deployment_target: 支持的pod最低版本
s.source:项目的地址
image.png

s.resources: 资源文件
s.source_files:需要包含的源文件
s.requires_arc: 是否支持ARC
s.framework:依赖库

建议直接将下面的代码复制到文件中后对应修改。


@version = "1.0.0"

Pod::Spec.new do |s|
  s.name          = "ZXCCalender"
  s.version       = @version
  s.summary       = "日历农历法定节假日"
  s.description   = "快速集成日历,新手练习,简单日历"
  s.homepage      = "https://github.com/xicaiZhou/ZXCCalender"
  s.license       = { :type => "MIT", :file => "LICENSE" }
  s.author        = { "ZXC" => "zhouxicaijob@163.com" }
  s.ios.deployment_target   = "8.0"
  s.source        = { :git => "https://github.com/xicaiZhou/ZXCCalender.git", :tag => "v#{s.version}" }
  s.resources    = "ZXCCalender/*.{png}"
  s.source_files  = "ZXCCalender/*.{h,m}"
  s.requires_arc  = true
  s.framework     = "UIKit"
end

文件写好后,我们用soureTree将源码再次提交至Git!然后我再在Github上对项目打版本tag。
2492408E-E6C9-4671-A23E-B35CB014BCCF.png
F4B3862C-76CC-40E3-A4D2-E485CD0604D6.png

E0B7304D-AEE6-4875-923D-679C0223F420.png
265D2E21-619A-4B99-8F04-B312B35703FE.png

(3).验证.podSpec文件。在终端输入pod spec lint进行验证。从此进入坑的世界。
验证成功后如下图。( 由于各种问题,最终打了4次tag成功)

573A1E02-1768-49A8-ADC6-80FDA67C8AFF.png

如果出错:我们可以再错误信息中找到原因。对应的进行修改,修改成功后,一定要重新打版本一定要重新打版本一定要重新打版本,然后修改.podSpec文件的版本。然后通过sourceTree使本地仓库和远端Git一致,也就是说,如果在本地修改的版本和tag,要提交并推到远端仓库。或者说在远端仓库修改的版本和tag,要在本地抓取最新版。

3.注册CocoaPods Trunk

在注册之前,在强调一遍要确保你的CocoaPods的版本在0.33之上。使用 pod --version查看本地版本。如果过低使用sudo gen install cocoapods进行更新。在更新中出现问题,请在第二模块准备工作中的第一部分寻找答案!

如果有人注册过CocoaPods Trunk,在终端输入pod trunk me正确显示如下

48DFF68B-F035-488F-9B6B-79945E40E315.png

如果没有注册的童鞋,请输入pod trunk register zhouxicaijob@163.com 'xicaizhou' --verbose,其中邮箱要使用有效的而且在使用的邮箱,这里建议使用GitHub注册的邮箱, '这里输入用户名(建议使用GitHub名)', --verbose加上这个是为了打印你注册详细信息,当你注册失败时,可以找到bug。

注册成功后,你输入的邮箱号的邮箱有收到一封邮件。如果没有收到邮件,请查看垃圾信箱。

4.使用Trunk上传.podSpec文件。

image.png
在这个路径下输入pod trunk push ZXCCalender.podSpec(验证加上传可能需要大约3分钟)成功后如下,
image.png
这就上传成功啦!

5.最后一步了!(验证是否能搜到)

输入pod search ZXCCalender

image.png
如果出现这种情况不要慌,输入rm ~/Library/Caches/CocoaPods/search_index.json
image.png
然后再次输入pod search ZXCCalender,如果还是出现上述情况,还是不用慌。操作这么久你也累了吧!先放松两个小时,等你回来就会搜到了!因为CocoaPods可能在审核你的代码哦!你也可以去CocoaPods搜索哦!
image.png

过了段时间就可以搜到了哦
image.png

四、结束语

本次解析到此结束了哦,小编可能遇到的错误不是很多,如果你是按照我的步骤操作出现问题请联系我哦,我将帮你解决问题共同进步,并且会将你的问题更新到博客中。为后来人把坑填平!我的邮箱是zhouxicaijob@163.com。喜欢的请关注哦!

五、总结

代码在于折腾!

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