BG:新换了一个电脑,Xcode里面需要重新安装CocoaPods工具,由于不经常弄这个,所以竟然忘记了具体的安装流程,去百度了一下,运气不好,弄了一下没有成功,后来又看了一个文章才弄成功,这里决定写一个文章说明下安装使用流程,也是方便自己今后需要使用的时候方便查看,也希望可以帮助到其他人
一、关于CocoaPods
- 它是第三方框架管理工具
- 使用背景
- 开发iOS应用时,会经常使用到很多第三方框架,正常我们需要手动一个个去下载所需类库然后拖拽到我们的项目中,而且项目中都会有很多的类库,十分麻烦
- 当项目中用到的类库有更新,你需要去重新下载新版本,然后加入到项目中,这显然是麻烦的
- 这个时候我们会想,如果能有什么工具能解决安装以及更新或者删除这些坑爹的问题,那该多社会...
- 正是在这个情况下, CocoaPods应运而生,它能使用到OC与Swift项目中,Swift由于命名空间的原因更应该使用到它的,而且目前比较流行的框架都存在于CocoaPods服务器。所以如果项目中没有使用到这个,那就out啦~
二、CocoaPods的安装
- 在安装CocoaPods之前,首先要确保你的电脑已经安装好Ruby环境,默认Mac系统已经存在了这个环境,而且以下命令都是在终端下操作的
- 安装的时候需要访问cocoapods.org,由于是在天朝,天朝存在这样那样一面墙...所以我们为了快速安装CocoaPods,建议大家都先升级Ruby环境
1)//用淘宝的RubyGems镜像来代替官方版本
$ gem sources --remove https://rubygems.org/
2)//等有反应之后再敲入以下命令
$ gem sources -a https://ruby.taobao.org/
3)//为了验证是否替换成功,可以用以下命令查看:
$ gem sources -l
只要在终端中出现下面文字就表明操作成功啦:
*** CURRENT SOURCES ***
http://ruby.taobao.org/
- 安装CocoaPods
- 按照步骤粘贴复制即可
1)安装CocoaPods
$sudo gem install cocoapods
备注:苹果系统升级 OS X EL Capitan后改为 $sudo gem install -n /usr/local/bin cocoapods
*我自己测试2个都能使用,如果大家使用了第1个不行,换第2个即可
2)安装之后初始化第三方库信息
$pod setup
备注:初始化过程由于需要访问国外服务器,如果时间久等不及可以更换repo镜像为国内服务器
// 删除之前的仓库
$pod repo remove master
//更换新的仓库源
$ pod repo add master http://gitcafe.com/akuandev/Specs.git
//更新成功后安装
$pod setup
3)以后如果需要更新第三方库信息不再需要pod setup只需要
$pod repo update
4)正常情况下完成以上步骤,Cocoapods就已经安装成功了,可以搜索一下任意一个第三方库验证一下,出现下图就是成功啦
$ pod search AFNetworking
使用CocoaPods
- 这里介绍2个使用方式,本人建议使用第2种哦,既然是傻瓜式使用,那么就要将傻瓜进行到底嘛
- 使用终端命令
1)新建工程,并在终端用cd指令进入到工程文件夹内
2)在终端先搜索你想要使用的框架,比如我想使用"AFNetworking"
$ pod search AFNetworking
只要出现和上面图片一样的内容就代表可以使用
3)新建文件 “Podfile”,(注意大小写)
$vim Podfile
在Podfile文件写入以下内容并保存(里面就是说明你需要使用到哪些框架,这些内容一般正常的话会在框架说明文档显示)
备注:(vim文件简单操作, 按“ i” 可编辑 ,“esc” 退出编辑,“:wq” 保存退出)
platform :ios, '7.0' //平台 :ios, 版本,这里是至少7.0以上
pod 'AFNetworking', '~> 2.3.1' //第三方框架 ,这里指定了三方框架的版本号,也可以不指定,不指定的话默认就是最新版本
//不指定版本号 pod 'AFNetworking'
4)操作完第二步之后,可以查看下刚刚写的文件
cat Podfile
5)解析Podfile文件,安装框架到项目中
$pod install
备注:后续如果给Podfile文件添加了新的三方框架,即使再次使用这个安装命令,它也不会重复安装,这个是非常智能的,只会安装新的框架
6)打开当前文件夹可以查看到项目中多了新的文件
$open ./
7)后续开发中只需要打开工作空间的文件即可,不需要打开项目文件,工作空间文件里面会存放三方框架,而且框架代码不在我们的项目中,项目不会被框架污染
- 直接使用CocoaPods这个插件去管理我们的Podfile文件,没错,有一个Xcode插件就叫做 CocoaPods,它和我们的管理三方框架这个CocoaPods工具是同名的
- CocoaPods插件使用流程
- 首先就是安装这个插件了,安装之后按照我下面给出的流程图片操作就可以了
- 需要说明的一点是创建完Podfile文件,在里面写东西的时候里面默认是添加了关于项目名称
以及和Swift相关的一些内容,这个时候如果我们是OC的项目,只需要把多余的内容删除,继续
留下和之前的方式一样的内容就可以了
- 操作完毕系统会提示是否打开新的文件
注意:每次新添加了一个框架,需要重新进行一次 install Pods,下载完毕框架,工作台会输出相关内容
Pod installation complete! There are 3 dependencies from the Podfile and 3 total pods installed.
最后的建议
- 通过以上操作,大家可以正常的使用Cocoapods工具去管理第三方类库了,由于现在xcode安装插件,默认是需要破解的,所以啰嗦的给出大家一个破解流程
- 查询Xcode当前版本号
defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
- 前往文件夹:
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
- 找到对应的插件,右键显示包内容,找到它的info.plist 文件,在DVTPlugInCompatibilityUUIDs类目下将当前xcode版本号添加进去,重新运行Xcode,选择Load Bundle即可
- 我个人使用 的是一个管理插件的工具Alcatraz,也推荐给大家使用,非常爽,想使用什么插件直接搜索安装即可,还可以随时删除,最最最主要的是安装的插件不需要我们自己破解,内部自动帮我们破解
安装使用时常见的问题
以下是我帮大家搜索的安装时常见的一些错误
终端 cocoapods 下载bug调试:
错误1:
Error fetching http://ruby.taobao.org/:
bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)
解决方案:把安装流程中 $gem sources -a http://ruby.taobao.org/ ---改为----> $gem sources -a https://ruby.taobao.org/
错误2:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
解决方案:苹果系统升级OS X EL Capitan后会出现的插件错误,将安装流程 4.安装CocoaPods 的 (1)sudo gem install cocoapods ——>改为sudo gem install -n /usr/local/bin cocoapods
错误3:
[!] Unable to satisfy the following requirements: - `AVOSCloud (~> 3.1.6.3)` required by `Podfile`
Specs satisfying the `AVOSCloud (~> 3.1.6.3)` dependency were found, but they required a higher minimum deployment target.
解决方案:安装流程:Podfile文件 中 platform:ios, ‘6.0’ 后边的 6.0 是平台版本号 ,一定要加上