搜索
您的当前位置:首页正文

CocoaPoas 安装和使用

来源:知库网

在安装CocoaPods 之前 ,首先要本地安装好Ruby 环境    如果安装好 可以在终端输入以下操作命令

sudo gem install cocoapods

但是 且慢  如果你在天朝  在终端敲入这个命令之后 ,  会发现半天没有任何反应  因为那堵墙阻挡了 cocoapods.org   但是我们可以用淘宝的Ruby镜像来访问cocoapods 按照下面的顺序在终端中敲入 依次敲入命令:

// 等有了反应之后在敲入以下命令

为了验证你的 Ruby 镜像是并且仅是 taobap   可以用以下命令查看

$ gem sources -l

只有在终端中出现 下面文字才标明你上面的命令是成功的

**** CURRENT SOURCES ****

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

$ gem sources -l

上面所有的命令完成之时 这时候你再次 在终端中运行

$ sudo gem install  cocoapods

登上十几秒钟 CocoaPods  就可以在你的本地下载并且安装好了  不需要其他设置

如何使用Cocoapods

使用Cocoapods 和安装它一样简单

场景1: 利用Cocoapods 在项目中导入AFNetworking 类库

为了确定AFNetworking是否支持CocoaPods,可以用CocoaPods的搜索功能验证一下。在终端中输入:

$ pod search AFNetworking

过几秒钟之后,你会在终端中看到关于AFNetworking类库的一些信息。比如:

-> AFNetworking (2.5.4)

A delightful iOS and OS X networking framework.

pod 'AFNetworking', '~> 2.5.4'

这说明 AFNetworking 是支持 Cocoapods  所有我们可以利用 Cocoapods 将AFNetworking 导入你的项目中

首先你要利用Xcode 创建一个名字 CocoapodsDemo 的项目

需要讲AFNetworking 导入项目中  那么为什么 Cocoapods  能下载AFNetworking 而不是其他类库呢  因为有个文件

控制Cocoapods 该下载什么  这个文件就叫做 Podfile   这个文件名  没有后缀  你创建一个Podfile 文件 然后在里面

添加你需要下载的类库 也就是告诉Cocoapods    某某某 And 某某某  快到碗里来  每个项目只需要 一个 Podfile 文件

1. 在终端 进入 ( cd  命令) 到你项目所在的目录中  然后当前目录下  利用    vim 出创建  Podfile

运行

$ vim Podfile

然后在Podfile 文件中输入以下文字

platform :ios, '7.0'

pod 'AFNetworking', '~> 2.0'

这段代码 不是凭空生成的 可以在AFNetworking 的github 页面找到 这两句文字的意思  当前AFNetworking 支持iOS 最高版本是 iOS 7.0 要下载的AFNetworking 版本是 2.0

然后保存 退出 Vim 环境 保存退出命令 :wq

这时候,你会发现你的项目目录中,出现一个名字为Podfile的文件,而且文件内容就是你刚刚输入的内容。注意,Podfile文件应该和你的工程文件.xcodeproj在同一个目录下。

这时候,你就可以利用CocoPods下载AFNetworking类库了。还是在终端中的当前项目目录下,运行以下命令:

$ pod install

因为是在你的项目中导入AFNetworking,这就是为什么这个命令需要你进入你的项目所在目录中运行。

EricmatoMacBook-Pro:CocoaPodsDemo ericwang$ pod install

Analyzing dependencies

Downloading dependencies

Installing AFNetworking (2.0.2)

Generating Pods project

Integrating client project

[!] From now on use `CocoaPodsDemo.xcworkspace`.

注意最后一句话,意思是:以后打开项目就用 CocoaPodsDemo.xcworkspace 打开,而不是之前的.xcodeproj文件。

也许会郁闷,为什么会出现.xcodeproj文件呢。这正是你刚刚运行$ pod

install命令产生的新文件。除了这个文件,你会发现还多了另外一个文件“Podfile.lock”和一个文件夹“Pods”。 点击

CocoaPodsDemo.xcworkspace 打开之后工程之后,项目Xcode目录结构如下图:

你会惊喜地发现,AFNetwoking已经成功导入项目了(红框部分)!

现在,你就可以开始使用AFNetworking.h啦。可以稍微测试一下,在你的项目任意代码文件中输入:

#import

或者

#import "AFNetworking.h"

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

运行命令:`$ pod install.

场景2:如何正确编译运行一个包含CocoPods类库的项目

也许曾经遇到过(特别是新手iOS开发者)这种情况,好不容易在GitHub上找到一份代码符合自己想需求,兴冲冲下载下来,一编译,傻眼了,发

现有各种各样错误。一看,原来是缺失了各种其他第三方类库。这时候莫慌,你再仔细一看,会发现你下载的代码包含了Podfile。没错,这意味着你可以用

CocoaPods很方便下载所需要的类库。

UAAppReviewManager

是一个能够让你方便地将提醒用户评分的功能加入你的应用中。当你去UAAppReviewManager的

GitHub地址下载这份代码之后,打开Example工程(UAAppReviewManagerExample),编译,你会发现Xcode报告一大

堆错误,基本都是说你编译的这份代码找不到某某头文件,这就意味着你要成功编译UAAppReviewManager的Example代码,必须先导入一

些第三方类库。同时你会发现在UAAppReviewManagerExample文件夹下面有三个跟CocosPods相关的文件(文件

夹):Podfile,Podfile.lock和Pods,如下图:

这时候,打开终端,进入UAAppReviewManagerExample所在的目录,也就是和Podfile在同一目录下,和场景1一样,输入以下命令(由于已经有Podfile,所以不需要再创建Podfile):

$ pod update

过几秒(也许需要十几秒,取决于你的网络状况)之后,终端出现:

Analyzing dependencies

Fetching podspec for `UAAppReviewManager` from `../`

Downloading dependencies

Installing UAAppReviewManager (0.1.6)

Generating Pods project

Integrating client project

[!] From now on use `UAAppReviewManagerExample.xcworkspace`.

这时候,再回到UAAppReviewManagerExample文件夹看一看,会看到多了一个文件UAAppReviewManagerExample.xcworkspace:

根据终端的信息提示,你以后就需用新产生的UAAppReviewManagerExample.xcworkspace来运行这个Example代码了。

打开UAAppReviewManagerExample.xcworkspace,编译运行,成功!如下图:

注意,这里有个小问题,如果刚刚你不是输入$ pod update,而是输入$ pod install,会发现类库导入不成功,并且终端出现下面提示:

[!] Required version (UAAppReviewManager (from `../`)) not found for `UAAppReviewManager`.

Available versions: 0.1.6

里的意思大概是Podfile文件过期,类库有升级,但是Podfile没有更改。$ pod

install只会按照Podfile的要求来请求类库,如果类库版本号有变化,那么将获取失败。但是$ pod

update会更新所有的类库,获取最新版本的类库。而且你会发现,如果用了$ pod update,再用$ pod install就成功了。

那你也许会问,什么时候用$ pod install,什么时候用$ pod update呢,我又不知道类库有没有新版本。好吧,那你每次直接用$ pod update算了。或者先用$ pod install,如果不行,再用$ pod update。

CocoaPods中的头文件import导入时不能自动补齐的解决方法

分类: iOS

CocoaPods中的头文件import导入时不能自动补齐的解决方法

下面是stackoverflow上的解决办法:

Go to the Target > \”Build Settings\” tab and find the \”User Header Search Paths\” setting.

Set this to \”$(BUILT_PRODUCTS_DIR)\” and check the \”Recursive\” check box.

Now the built target will search the workspace’s shared build directory to locate the linkable header files.

具体来说就是:

选择工程的 Target -> Build Settings 菜单,找到\”User Header Search Paths\”设置项

新增一个值"$(PODS_ROOT)",并且选择\”recursive\”,这样xcode就会在项目目录中递归搜索文件

自动补齐功能马上就好使了。

这时候如果你发现import的时候没有提示JSONKit的文件,可以在target-Build Settings下修改“User Header Search Paths”项,新增${SRCROOT}并选择rcursive,如下图。

Cocoa pods  工程编译出错找不到pod 中的类库 需要修改  Always Search User Paths 为YES

此为修改Pod中的Build Settings 中的配置

Top