一、概述
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)!如下图!
(2).将在Git上创建的库,通过sourceTree克隆到本地!打开sourceTree,选择右边设置按钮!打开后选择底部添加按钮来添加你的Git账号!协议的话如果不会弄SSH,那就选择HTTPS吧。链接成功后,在sourceTree客户端中选择远端。这样就会看见你在git上所有的库!然后克隆到本地!简单吧!
(3)将你的源码放到git库所在本地的文件夹内(下图演示的文件夹结构)
操作之后你的sourceTree就会有你的文件改动信息(如果没有变动信息,那就去Git的本地库中找到.git
文件,这是隐藏文件,如何显示隐藏文件。输入隐藏命令之后,千万要记得重启find哦。重启之后,再次打开文件夹就会发现.git
文件,把他删除掉就ok了。
然后双击打开选择提交然后推送就上去喽!
2.创建并编辑.podSpec文件
(1).创建打
.podSpec文件
。开终端,切换路径。然后输入pod spec create xxxxxxx
,例如我要输入pod spec create ZXCCalender
然后你会发现你的文件夹呢出现一个xxxxxx.podSpec
文件。
(2).编辑
.podSpec
文件。使用Sublime Text
打开.podSpec
文件。里面有很多的配置文件,文件讲解如下。
s.name:名称,pod search 搜索的关键词,注意这里一定要和.podspec的名称一样,否则报错
s.version:版本号 注意这里的版本号不能高于你项目在Git的版本号(那如何在Git上打版本,客观别急,请往下看!)
s.summary: 总结、概要
s.description :描述
s.author:作者
s.ios.deployment_target: 支持的pod最低版本
s.source:项目的地址
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。
(3).验证
.podSpec
文件。在终端输入pod spec lint
进行验证。从此进入坑的世界。
验证成功后如下图。( 由于各种问题,最终打了4次tag成功)
如果出错:我们可以再错误信息中找到原因。对应的进行修改,修改成功后,一定要重新打版本一定要重新打版本一定要重新打版本,然后修改.podSpec
文件的版本。然后通过sourceTree使本地仓库和远端Git一致,也就是说,如果在本地修改的版本和tag,要提交并推到远端仓库。或者说在远端仓库修改的版本和tag,要在本地抓取最新版。
3.注册CocoaPods Trunk
在注册之前,在强调一遍要确保你的CocoaPods的版本在0.33之上。使用
pod --version
查看本地版本。如果过低使用sudo gen install cocoapods
进行更新。在更新中出现问题,请在第二模块准备工作中的第一部分寻找答案!
如果有人注册过CocoaPods Trunk,在终端输入
pod trunk me
正确显示如下
如果没有注册的童鞋,请输入
pod trunk register zhouxicaijob@163.com 'xicaizhou' --verbose
,其中邮箱要使用有效的而且在使用的邮箱,这里建议使用GitHub注册的邮箱, '这里输入用户名(建议使用GitHub名)', --verbose加上这个是为了打印你注册详细信息,当你注册失败时,可以找到bug。
注册成功后,你输入的邮箱号的邮箱有收到一封邮件。如果没有收到邮件,请查看垃圾信箱。
4.使用Trunk上传.podSpec
文件。
在这个路径下输入pod trunk push ZXCCalender.podSpec
(验证加上传可能需要大约3分钟)成功后如下,
这就上传成功啦!
5.最后一步了!(验证是否能搜到)
输入
pod search ZXCCalender
如果出现这种情况不要慌,输入rm ~/Library/Caches/CocoaPods/search_index.json
然后再次输入pod search ZXCCalender
,如果还是出现上述情况,还是不用慌。操作这么久你也累了吧!先放松两个小时,等你回来就会搜到了!因为CocoaPods可能在审核你的代码哦!你也可以去CocoaPods搜索哦!
过了段时间就可以搜到了哦
四、结束语
本次解析到此结束了哦,小编可能遇到的错误不是很多,如果你是按照我的步骤操作出现问题请联系我哦,我将帮你解决问题共同进步,并且会将你的问题更新到博客中。为后来人把坑填平!我的邮箱是zhouxicaijob@163.com。喜欢的请关注哦!
五、总结
代码在于折腾!