MAC下cocoapods安装以及使用

介绍

当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要 CocoaPods。

CocoaPods应该是iOS最常用最有名的类库管理工具了,上述两个烦人的问题,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。

pod的卸载

http://www.cnblogs.com/hankkk/p/5703050.html



下载安装

mac下自带Ruby环境,所以直接在终端敲如下命令

sudo gem install cocoapods

由于在国内被墙住,无法访问到cocoapods.org,所以替换淘宝的Ruby镜像来访问cocoapods,按照下面顺序依次敲入命令:

$ gem sources --remove https://rubygems.org/

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

$ gem sources -a https://ruby.taobao.org/

为了验证你的Ruby镜像是taobao,可用如下命令查看:

gem sources -l

只用在终端出现下面的文字才表明之前的命令执行成功

*** CURRENT SOURCES ***https://ruby.taobao.org/

完成以上步骤后,重新执行

sudo geminstallcocoapods

等待一段时间后,cocoapods就可以在你本地下载并且安装好,不需要其他设置

[!] Unable to find a pod with name, author, summary, or descriptionmatching `AFNetworking`

解决方案:http://www.cnblogs.com/i-am-lvjiazhen/p/6148703.html 


使用cocoapods

搜索功能

为了确定FMDB是否支持cocoapods,可以使用pod search 命令验证,如下

pod search fmdb

搜索结果如下:


MAC下cocoapods安装以及使用_第1张图片

这说明fmdb支持cocoapods,我们可以将其导入项目

导入第三方库

本例以导入FMDB为示范

(1)在终端进入项目所在目录下,即xxx.xcodeproj所在目录,执行命令新建Podfile文并输入如下文字

vim Podfile//第一步,新建文件

//文件中输入的类容

platform :ios,'7.0'

xcodeproj 'JFDiscover.xcodeproj'

target 'JFDiscover' do

use_frameworks!

pod "AFNetworking"

pod "Masonry"

pod 'MJRefresh'

pod 'MBProgressHUD'

end

退出保存

:wq

这时候你会发现项目目录下存在一个Podfile的文件,文件内容为刚才所输入的内容,此时可以用cocoapods下载FMDB类库了,在终端的当前目录下(Podfile所在目录),执行命令

pod install

运行上述命令后,终端出现如下信息:


MAC下cocoapods安装以及使用_第2张图片

此时进入项目所在目录下,会发现xxx.xcworkspace文件


MAC下cocoapods安装以及使用_第3张图片

以后打开项目就用.xcworkspace文件,而不是之前的.xcodeproj文件

tips

以后需要在该项目中继续导入第三方库的时候,只需要修改Podfile文件,添加你需要的第三方库(前提是该类库支持cocoapods),保存后执行pod install (或者 pod update)即可。

经常遇到的问题

问题1:

[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master-1`.  You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`. 是由于我装了多个Xcode导致路径变了。

解决:JeremydeMacBook-Pro-2:自己的项目 jeremy$ sudo xcode-select -switch /Applications/Xcode.app  (直接把Xcode的路径给拖进来) 

问题2:

Error fetching http://ruby.taobao.org/:

bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)

说明:

链接不到Ruby淘宝源,常见的404错误,可能因为https替换http了。所以gem sources -a http://ruby.taobao.org/ 需要替换成:gem sources -a https://ruby.taobao.org/

ERROR:  While executing gem ... (Errno::EPERM)

Operation not permitted - /usr/bin/update_rubygems

问题3:

说明:

Mac OSX 10.11不能使用sudo gem update —system了,需要替换成:sudo gem update-n /usr/local/bin —system

ERROR:  While executing gem ... (Errno::EPERM)

Operation not permitted - /usr/bin/pod

问题4:

说明:

Podfile升级之后到1.0.0版本,Pod里的内容必须明确指出所用第三方库的target,所以在podfile文件需要明确:

target “YOUR_TARGRT_NAME” do

...

end

问题5:

用cocoaPod sinstall完成所需要的第三方类库之后,在要用的地方导入(#import)发现不提示的问题?

解决:

1.选择target(就是左边你的工程target)—— BuildSettings —— search Paths 下的 User Header Search Paths(如图所示:)

MAC下cocoapods安装以及使用_第4张图片

2.双击后面的空白区域:(如图所示:)

MAC下cocoapods安装以及使用_第5张图片

3.出现下面的图,并且点击“+”号添加一项:并且输入:“$(PODS_ROOT)”(没有引号),选择:recursive(会在相应的目录递归搜索文件):

MAC下cocoapods安装以及使用_第6张图片

这样设置完成之后,再在工程中导入cocoaPods安装的第三方类库就有提示了。

你可能感兴趣的:(MAC下cocoapods安装以及使用)