[cocoaPods]cocoaPods安装与使用

原创 2015年11月20日 11:41:29

cocoaPods使用异常 2016.07.27更新

最近将macOS系统升级到Capitan后,发现原来cocoaPods的所有功能都不能够使用了,出现如下问题:

ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/pod

原因

原因是Capitan全面开启了 System Integrity Protection (SIP) —— 系统完整性保护技术,因此进行一些受保护的文件目录下的读写不被允许。

解决方法:

  • 重新启动系统,按住Option键→选择RecoveryHD(或者按住cmd+R)
  • 进入系统后,启动Terminal,输入如下代码,临时关闭SIP,在安装完成后在开启SIP
关闭SIP:csrutil disable
开启SIP:csrutil enable
  1. El Capitan 中 SIP 介绍
  2. 如何关闭OSX 10.11 SIP (System Integrity Protection)

之前使用库一般是直接从github上面clone下来,迁移到项目中去,但是当使用的第三方库太多的时候,就难以管理了。比如库升级版本、删除添加库等。cocoaPods是解决该问题的绝佳帮手。实习的时候就体验过了。但是期间也遇到了诸多使用问题,在此总结要点,以备后面查看。

安装

打开terminal,输入下面代码,然后就开始安装了

sudo gem install cocoapods

然而也许你会遇到下面的问题

ERROR: Could not find a valid gem 'cocoapods' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - Errno::ECONNREFUSED: Connection refused - connect(2) (https://rubygems.org/quick/Marshal.4.8/cocoapods-0.37.2.gemspec.rz)
ERROR: Possible alternatives: cocoapods

这是你就需要更改一下rubygems的服务器地址,因为其源地址https://rubygems.org/ 使用亚马逊云服务被墙了,taobao就弄了一个rubygems的镜像,terminal敲入如下代码

gem sources --remove https://rubygems.org/
gem sources -a http://ruby.taobao.org/

你可以用如下语句查看软件源的地址

gem sources -l

也许你的gem太老了,那就需要升级一下gem

sudo gem update --system

安装好cocoaPods后,你就可以pod setup把第三方库的镜像索引下载到本地啦

pod setup

这里有点小技巧,你可以通过如下代码查看pod setup的下载进度

cd ~/.cocoapods
du -sh *

//每次执行会输出已下载的文件大小
229M    repos

但是也许你等了许久,大小还是丝毫不动,这时候你就要考虑换一下cocoaPods的镜像源了,默认情况所有的Podspec的文件都托管在https://github.com/CocoaPods/Specs 上,后来有个开发者在oschina(gitcafe那个镜像源笔者在安装的时候已经不在了)建立了cocoaPods索引库镜像。国内的服务器当然会更快些,请执行如下操作

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

然而笔者在安装的时候还是遇到了如下问题,关键是网上还没有类似的情况,查了下什么http 504是网关问题,有可能网络服务器不响应,也有可能是电脑设置了代理。

[!] /usr/local/bin/git clone http://git.oschina.net/akuandev/Specs.git master

Cloning into 'master'...
error: RPC failed; result=22, HTTP code = 504
fatal: The remote end hung up unexpectedly

于是换网络,接着做了如下操作
1. 还原mac网络配置,查了老半天只能恢复出厂设置,在不知道如何正确还原网络设置的情况下,我想起breakwall有个还原网络设置的功能,于是就求助于它。
2. 然并卵,接着又觉得会不会是git没有配置错误的问题,于是重新进行git的ssh-key配置

是的,经过上述折腾,我总算是terminal在刷刷刷得输出了,也许真的是因为网络问题呢T_T,直到输出Setup completed就安装完成

Setting up CocoaPods master repo
Updating da613df..1e43f0d
Fast-forward
......
Checking out files: 100% (1311/1311), done.
Setup completed

然后你就可以执行以下语句看看是否有结果了

pod search AFNetworking

使用

首先你要为你的项目创建一个Podfile文件,记住该文件没有拓展名,你要cd 进你的项目目录,vi Podfile,如果有文件系统会帮你打开,如果没文件系统会帮你创建一个新文件,按“i”键进入insert模式

cd 项目目录(比如~/documents/workspace/VRPVisual)
vi Podfile

关于vi是linux下面的命令,你可以参考《 Linux vi命令 创建文件
现在可以输入文件内容了,比如下面,具体语法如何,请参考《the Podfile

platform :ios
pod 'SVProgressHUD'
pod 'JSONKit', '~> 1.4'

假如你不知道第三方库的版本,你可以执行查询语句

pod search 第三方库名

好了,这时候你需要按下”esc”键,退出输入模式,按“:wq”保存退出或“:q!”不保存强制退出,你就可以看到项目文件加下面多了一个Podfile文件,这时你可以执行下面语句加载第三方库了(要在项目下有Podfile文件的文件夹中执行)

pod install
//每次在修改Podfile文件后需要执行一次
pod update

这时你需要打开项目中的 .xcworkspace 后缀文件,然后你就会发现xcode项目导航栏中出现了pod的文件夹,大功告成!

贡献

你也可以把你牛逼的代码分享给cocoaPods,这里有个教程贴《如何将你的iOS代码分享到CocoaPod进行管理》、《Making a CocoaPod

参考文章:
http://blog.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/

看一遍就会的CocoaPods的安装和使用教程

什么是CocoaPods? CocoaPods是专门为iOS工程提供对第三方库的依赖的管理工具,通过CocoaPods,我们可以更方便地管理每个第三方库的版本,而且不需要我们做太多的配置。直观、集中...
  • u012960049
  • u012960049
  • 2017年04月20日 09:28
  • 7735

2017 最新的 cocoaPods 安装方法

第一步:安装rvm, 不管需不需要升级ruby,rvm可以让你拥有多个版本的Ruby,并且可以在多个版本之间自由切换。如果已经安装过跳到第2步(rvm -v 查看是否安装) $ curl ...
  • e62ces0iem
  • e62ces0iem
  • 2017年06月21日 17:02
  • 3397

配置安装 cocoaPods 支持OS10.12.3

1.首先检查Mac上是否有ruby 终端输入: ruby -v 打印结果: ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_...
  • LingYu_iOS
  • LingYu_iOS
  • 2015年07月14日 11:19
  • 1668

ios 2018年CocoaPods安装教程

一、安装 CocoaPods1、查看当前ruby源gem sources -l2、移除ruby源gem sources --remove https://rubygems.org/3、添加新的ruby...
  • qq_18505715
  • qq_18505715
  • 2017年12月18日 15:12
  • 278

最新版CocoaPods安装和使用教程

##以下代码区域,带有 $ 打头的表示需要在控制台(终端)下面执行(不包括 $ 符号) 1.步骤一 安装RVM RVM全称Ruby Version Manager,Ruby版本管理器,包括Ru...
  • zl756510499
  • zl756510499
  • 2017年08月31日 10:03
  • 597

Cocoapods 安装指定版本

$ sudo gem install cocoapods --version 1.0.0
  • u013282507
  • u013282507
  • 2016年12月07日 17:04
  • 1233

Mac OS X 10.11安装cocoapods的修正篇

Mac OS X 10.11安装cocoapods的修正篇目录Mac OS X 1011安装cocoapods的修正篇 目录 问题描述 解决方案1 解决方案2 解决方案3问题描述OS X 10.11 ...
  • vieri_ch
  • vieri_ch
  • 2015年10月11日 13:18
  • 11145

IOS开发最新安装CocoaPods及使用详解

CocoaPods的安装 CocoaPods可以方便地通过Mac自带的RubyGems安装。 打开Terminal(Mac电脑自带的终端),然后按照以下提示操作即可: 1.设置ruby的软件源...
  • xiuliwei
  • xiuliwei
  • 2017年06月26日 11:18
  • 508

cocoapods最新Mac 安装的方法(适合已经安装好ruby 环境的电脑)

cocoapods安装遇到的问题及解决方法 字数1853 阅读194 评论0 喜欢5 这一篇是用Markdown 写的,梳理了一下排版。以前的文章改不成Markdown了。凑活吧,真扯淡,...
  • ZachMan1993
  • ZachMan1993
  • 2016年12月03日 20:35
  • 1649

2016cocoapods安装流程及使用(新手专用)

iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库...
  • P_igMiHu
  • P_igMiHu
  • 2016年10月19日 12:32
  • 544
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[cocoaPods]cocoaPods安装与使用
举报原因:
原因补充:

(最多只允许输入30个字)