Cocoapods 安装及一些常见问题

      最近换了个电脑,又需要安装Cocoapods,无比艰辛,以防以后还碰到这些狗血问题,写下一些艰难的安装过程。

那么为什么要安装这玩意? Cocoapods 是什么玩意。

一、什么是CocoaPods

CocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和第三方开源库的时间。

在使用CocoaPods之前,开发项目需要用到第三方开源库的时候,我们需要

1.把开源库的源代码复制到项目中

2.添加一些依赖框架和动态库

3.设置-ObjC,-fno-objc-arc等参数

4.管理他们的更新

在使用CocoaPods后,我们只需要把用到的开源库放到一个名为Podfile的文件中,然后执行pod install.Cocoapods就会自动将这些第三方开源库的源码下载下来,并且为我们的工程设置好响应的系统依赖和编译参数。

二、CocoaPods的原理

CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。


三、 安装Cocoapods 

1.Cocoapods是在什么环境安装的,需要用到什么工具

RubyGems,RubyGems苹果mac自带,但是时常遇到版本过低的情形。

安装或者升级步骤

rvm -v 查看目前rmv的版本

如果没有rmv则去安装

1)打开终端输入     curl -L get.rvm.io | bash -s stable

2)运行完输入 source ~/.rvm/scripts/rvm

3)再次查看rmv 。 输入rmv-v

4)列表显示都可以安装ruby的哪些版本    rvm list known

5)更新ruby至想要的版本  rvm install 2.3.0

2.开始安装 Cocoapods

1)打开终端输入     sudo gem install cocoapods

可能遇见的问题

执行完这句如果报告以下错误:

ERROR: Could not find a valid gem 'cocoapods' (>= 0), here is why:

Unable to download data fromhttps://rubygems.org/- Errno::ETIMEDOUT: Operation timed out - connect(2) (https://rubygems.org/latest_specs.4.8.gz)

ERROR: Possible alternatives: cocoa pods

这是因为ruby的软件源rubygems.org因为使用亚马逊的云服务,被我天朝屏蔽了,需要更新一下ruby的源,过程如下:

$ gem sources -l (查看当前ruby的源)

$ gem sources --removehttps://rubygems.org/

$ gem sources -ahttps://ruby.taobao.org/

$ gem sources -l

如果gem太老,可以尝试用如下命令升级gem

$ sudo gem update --system

升级成功后会提示: RubyGems system software updated

然后重新执行安装下载命令

$ sudo gem install cocoapods

2)运行完输入 pod setup

如果成功了安装,那么接下来就是使用Cocoapods

依旧在终端

进入工程所在的目录(工程根目录) cd空格(+文件所在目录)

执行命令 touch Podfile

这句是说新建一个名为Podfile的文件(不能写成别的名字,也可以自己在工程根目录里面直接新建)

然后对改文件进行编辑,执行命令 open -e Podfile

第一次执行这个命令,会有一个空白文件打开,可以先放在一边,

Podfile文件的格式应该如下:

platform :ios, '7.0'

pod 'AMap2DMap', '~> 2.5.0'

pod 'AFNetworking', '~> 2.5.3'

pod 'SDWebImage', '~> 3.7.2'

需要注意的几点:platform那一行,ios三个字母都要小写,而且与前面的冒号之间不能有间隔,后面的版本号也可以不写,但是有些开源库对版本是有要求的,比如要在6.0以上才能运行,遇到这样的开源库就需要写上版本号。

platform下面就是Cocoapods需要集成的开源库,根据你的需要确定集成那些库。


最后主要说下我在pod setup遇到的一个问题 比较少见

Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master`.

You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.

这个错误

终端输入 pod repo add master https://github.com/CocoaPods/Specs.git



额  五个小时过去了  依旧不行 。我无fuck可说啊!  这Cocoapods装了我10天时间都没装好。我开大招。最后一招。。

1.通过finder的前往文件夹进行查看      ~/.cocoapods/repos

2.通过终端,进入到   ~/.cocoapods/repos

3.然后通过   git clonehttps://github.com/CocoaPods/Specs.git

还有其他问题的话,先看看是不是rubygem镜像源是不是被墙了,可以切换镜像源。

甚至,如果最终实在没办法,找到一个安装好了cocoapods的Mac电脑,到他的~/.cocoapods/repos目录下面拷贝出master文件到自己的Mac上的相应位置。


成了

你可能感兴趣的:(Cocoapods 安装及一些常见问题)