iOS学习笔记

iOS-关于如何配置Cocoapods的问题

2016-03-12  本文已影响65人  不二贾

本篇文章主要是写一点关于Cocoapods配置上遇到的问题以及解决方式。

以前在做开发是添加三方库的时候总是手动添加,比较麻烦。然后自己摸索着配置了Cocoapods,用起来非常方便,所以记录下来和大家共同探讨。废话不多说,我们开始。

文章大概分为以下几个部分;

一.配置rvm,在Mac上安装ruby运行环境;

二.cocoapods的安装

三.cocoapods的使用

一.在Mac上安装ruby运行环境。

有关如何在Mac上安装ruby,详细步骤请参考http://www.cnblogs.com/daguo/p/4097263.html--作者写的已非常详细,这里只说一下我在安装的过程中遇到的一些问题:

我在刚开始安装rvm时选择了文档中给出的版本,也就是2.0版本,但是在终端运行的时候却出现这样的错误

额 没有!?

猜想可能是Mac的系统版本过高,所以要安装最新版的rvm,于是我重新执行语句。等了一会果然安装成功。

设置ruby版本的时候 解决 Gemset '' does not exist, 'rvm ruby-2.2.2 do rvm gemset create ' first, or append '--create'.

>rvm --create ruby-2.2.2

>rvm 2.2.2 --default

安装时可能还会出现其他问题,可以键入rvm的help语句,根据提示解决。

二.cocoapods的安装

1.新建一个工程

安装好ruby环境后接下来就是配置安装cocoapods啦。

方法很简单,只需要在terminator(终端)键入以下语句;

$ sudo gem install cocoapods

等上十几秒就会出现这样的结果

安装成功

这就代表你安装成功了,666.

三.cocoapods的使用

cocoapods的使用和安装也一样简单,为了方便我们可以先在xcode建立一个工程。

大家可能疑惑怎样才能把我想要的三方库添加进工程里面呢?那么我们需要一个文件来写入我们想要的三方库的名称,这个文件就叫做“Podfile”,创建这个文件我们只需要在终端打开工程所在的文件目录(cd目录)然后在当前目录下,键入语句:

$vim podfile

然后在vim环境下写入你想添加的三方库的名称,例如我要添加MJRefresh,那我就输入:

pod ’MJRefresh’

然后保存更改,退出。

(:wq)

这时候你在看工程目录里多了个podfile的文件,注意podfile文件一定要和工程的.xcodeproj文件在同一目录下。

最后,在终端里运行命令:

$ pod  install

运行结束后你会看到这样的结果 :

[!] Please close any current Xcode sessions and use `XXX.xcworkspace` for this project from now on.

然后你会发现目录里多了个XXX.xcworkspace文件和podfile.lock文件。这就对了!

而上面结果的意思就是让你关闭当前项目然后点击XXX.xcworkspace文件重新打开工程。当你打开工程时你会发现你要添加的三方库已经添加了!

如果你后续还要添加其他的三方库你只需要打开podfile文件,按照 pod ' '的格式一次写入文件,然后执行命令就可以了。如图:

添加多个类库

总结一下:

1.先在项目中创建Podfile,Podfile的内容是你想导入的类库。一般类库的原作者会告诉你导入该类库应该如何写Podfile;

2.运行命令:$ pod install。

2.编译一个有cocoapods类库的项目

我们在网上下载的含有cocoapods的demo时候,有时候编译会出现一堆报红,大概原因就是找不到相关库的头文件。不要着急这可能是因为demo里面的podfile文件过期,三方库版本过低造成的。

解决方法就是在终端里运行以下命令:

$ pod update

等待运行结束,文件夹里就会生成一个名为XXX.xcworkspace的文件,这时候我们就可以通过这个文件打开工程了。

以上只是我的一些小见解,如果你觉得上面的叙述有问题,或者你有补充,请私信或评论。

更正:如果要增加新的类库尽量不要在podfile文件里面直接修改了 可以在终端或者xcode里面修改保存 再执行pod命令

更新:使用过程中的一些问题

1.The dependency `MJExtension ` is not used in any concrete target 或者The dependency `SD_WebImage ` is not used in any concrete target
这个错误是因为所用的库找不到指定的target 直接在终端或者xcode里面加下图语句

问题1

将GiftTalk改成你的项目名称然后执行pod update就可以了。

2.[!] Invalid `Podfile` file: syntax error, unexpected end-of-input, expecting keyword_end.无效的podfile文件。

关于这个问题我是参考了作者的方法解决的 http://www.cnblogs.com/mgbert/p/3945273.html 大家可以调试下。

以上是目前笔者遇到的问题 记录下来 。以后再更新。

上一篇下一篇

猜你喜欢

热点阅读