iOS、swift技术交流!

cocoaPods 库版本管理工具

2015-11-13  本文已影响1760人  光明程辉

前言

项目中经常使用到Cocoapoads,所以,抽个时间来写个笔记!也希望对没用过CocoaPods的朋友们有帮助!
# 问什么推荐用CocoaPods呢?
没用过之前,我觉得CocoasPods 好麻烦,而且,安装步骤多!不想用!后来,去公司工作了以后,发现实际项目开发中经常用,我自己也吃过亏!所以,极力推荐使用CocoaPods!

如何下载和安装CocoaPods?

在安装CocoaPods之前,首先要在本地安装好Ruby环境。至于如何在Mac中安装好Ruby环境.

此时会出现:

成功.png
  ERROR:  While executing gem ... (Gem::FilePermissionError)

You don‘t have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

chenghuiMacBook-Pro:~ shiyunlei$ sudo gem update —system

这个是因为你没有权限去更新Ruby

0、sudo gem install cocoapods(这句被墙了,你试一下也无所谓!)
1、gem sources --removehttps://rubygems.org/
//等有反应之后再敲入以下命令
2、gem sources -ahttp://ruby.taobao.org/

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

gem sources -l

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

成功啦.png

这时候,你再次在终端中运行:

$ sudo gem install cocoapods

等一分钟吧!CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。

如何使用CocoaPods 啊?

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

AFNetworking类库在GitHub地址是:https://github.com/AFNetworking/AFNetworking

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

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

这说明,AFNetworking是支持CocoaPods,所以我们可以利用CocoaPods将AFNetworking导入你的项目中。(找到你想要的也可以直接复制到Podfile里面);

vim Podfile

然后在Podfile文件中输入以下文字:(不写版本号,默认是最新的!!!)

platform :ios, '7.0'
pod "AFNetworking", "~> 2.0"

以上的两句是在Github上的,可以在AFNetworking的github页面找到验证。这两句文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 7.0, 要下载的AFNetworking版本是2.0。

然后保存退出。vim环境下,按下 键盘“ i ”字母,表示编辑,按下 键盘 esc 后 ,接着 按住shift +“ ;”分号。 保存退出命令是:

wq

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

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

pod install

网速较慢推荐使用这个命令行:pod install --verbose --no-repo-update

然后终端出现以下信息:

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文件。

除了 Podfile 这个文件,你会发现还多了另外一个文件“Podfile.lock”和一个文件夹“Pods”。

现在,你就可以开始使用AFNetworking.h啦。

如果输入:(带尖括号),编译成功!

import <AFNetworking.h>

这样有可能不行!那就要在BuildSetting ---> User Header Search Patchs的里设置一下
双击--输入 ${SRCROOT} —> 后面 选择 recursive

屏幕快照 2015-11-14 16.59.48.png

然后,在 #import "ViewController.h" 头文件里输入:

import <AFNetworking.h>

或者

import "AFNetworking.h"

屏幕快照 2015-11-14 17.07.48.png

到此结束!!!

2、 如果突然又想添加一个库呢?

网速慢推荐:pod install --verbose --no-repo-update

So easy!!! (命令行)

Pod Search SDWebImage.png

1、去到项目目录
2、vim Podfile 打开文件
3、输入名字 和 版本号:例如:pod 'SDWebImage', '~> 3.7.5'
4、运行:pod update

PS: 如果安装了插件,那更加简单了!!不用使用命令行了。(看我的第二篇介绍哈!

那几个英文因该可以看得懂吧!(试试就知道怎么用了!)
点击:


屏幕快照 2015-11-14 17.21.00.png 屏幕快照 2015-11-14 17.23.16.png 屏幕快照 2015-11-14 17.26.48.png

然后安装和更新!就可以啦!

屏幕快照 2015-11-14 17.27.39.png

最后,看目录!多了一个 MJExtension 目录,对吧!

屏幕快照 2015-11-14 17.17.17.png

3、再次提醒:对于 iOS 上的 CocoaPods 项目,请尽量试用 pod install --no-repo-update --verbose ,这样会大大加快 pod install 的速度。

例如:向这个工程,是在GitHub上下载的,该作者把库全删除了,那么你就要使用到上面的命令,快速解决:


先要来的该工程文件目录下使用命令才行.png

总结

在使用cocoapods进行update或者install的时候,会去更新获取pod specs。

所有的项目的podspec文件都托管在https://github.com/CocoaPods/Specs上。
第一次执行pod setup时,cocoapods会将这些podspec索引文件更新到本地的 ~/。cocoapods/目录下,

这个索引文件比较大,国内网络的问题,更新非常慢。

网上一个博主http://akinliu.github.io/2014/05/03/cocoapods-specs-/ ,对github上的specs仓库进行了镜像,
是每10分钟进行同步一次,基本和主仓库保持一致。

gitcafe和oschina都是国内服务器,在执行索引更新操作时,快很多。

使用方法:

pod repo remove master

pod repo add master https://gitcafe.com/akuandev/Specs.git

pod repo update

如果想用oschina的镜像,可以把第二条命令的地址换成oschina的即可。

pod repo add master http://git.oschina.net/akuandev/Specs.git

如果在pod install、或者pod update时,不想升级specs库,可以增加忽略参数

pod install --no-repo-update

pod update --no-repo-update

上一篇 下一篇

猜你喜欢

热点阅读