iOS 10.10 10.11 10.12 安装升级CocoPods
CocoPods简介
- CocoaPods是一个用Ruby写的,负责管理iOS以及OSX系统下的一个第三方类库管理工具,通过CocoaPods,我们可以集中,统一的管理第三方开源库。当然这些库徐亚CocoaPods本身支持。
- 在引入第三方库时,它可以自动为我们完成各种配置,包括响应系统以来,配置编译阶段,链接器选项,甚至是ARC环境下的-fno-objc-arc配置等等
编译环境
系统版本:macOS Sierra 10.12.6
Xcode: v9.2(9C40b)
CocoaPods安装
貌似只能使用终端命令行
1.升级Ruby环境
$ sudo gem update --system
上面这个方法在CocoaPods 1.0之后应该是不行了,有可能会出现以下错误
Operation not permitted - /usr/bin/update_rubygems

在stackoverflow.com中找到了答案
$ sudo gem update -n /usr/local/bin --system

注意
其实在命令行中系统就提示了解决办法
/usr/bin/update_rubygems
2.更换Ruby镜像
首先 先移除现有的Ruby原生的镜像
$ gem sources --remove https://rubygems.org/
再添加国内的镜像源
$ gem sources -a https://gems.ruby-china.org/
注意
国内淘宝的镜像源已经不更新了
更新完毕之后通过命令行来查看当前的镜像源
$ gem sources -l
成功则显示如下

失败则重复执行 $ gem sources -a https://gems.ruby-china.org/
3.安装CocoaPods
提示
在Mac OSX 10.9 CocoaPods 还在0.9 时期 安装CocoaPods 的命令是
$ sudo gem install cocoapods在Mac OSX 10.10之后 CocoaPods 已经升级到了1.0.0 命令已经变更为
$ sudo gem install -n /usr/local/bin cocoapods
执行命令
$ sudo gem install -n /usr/local/bin cocoapods
成功则出现如图所示

执行命令
$ pod setup
这时会出现 Setting up CocoaPods master repo 需要等待一段时间
4.使用CocoaPods
使用命令查看pod的版本号
$ pod --version
控制台输出 1.4.0
说明已经成功安装了CocoaPods
接下来需要 cd 到你的工程中
$ cd /Users/maybe/Desktop/testCocoaPods
我新建了一个项目 项目名为
testCocoaPods
touch podFile通过vim命令在工程中创建一个podFile文件
open podFile 通过vim命令打开该文件

配置好podFile文件,保存。
pod install 通过该命令下载

vim中表示已经下载完成,可以关闭当前Xcode项目,使用
testCocoaPods.xcworkspace

在这里 已经可以正常的使用CocoaPods了
5.CocoaPods一些异常处理
1. 搜索不到最新的第三方库版本
解决办法
- 通过命令行升级你本地的
repo
$ pod repo update
如果更新不下来,或者更新下来还是没有你需要的版本,就可以尝试升级pod版本。
1.3.1 升级 1.4.0 的时候我就发现有这个问题,直接更新repo不行,需要更新pod版本才能搜到最新版本的第三方库
这时候按照上面的方法执行下去,重新安装一遍 pod 就可以,注意查看下pod版本时候是否有更新。
有时候可能更新下来还是搜索不到,可以尝试使用命令来处理下
rm ~/Library/Caches/CocoaPods/search_index.json
来删除索引
成功删除缓存文件,终端是没有提示的,Unix的尿性就是没有提示就是成功意思。
这时重新发起搜索
Creating search index for spec repo 'master'..
需要等待一会,正在重新建立索引
稍微等待几分钟就可以重新搜索到。
2.卸载CocoaPods
卸载命令
$ sudo gem uninstall cocoapods
可进入文件夹中查看repo
$ cd ~/.cocoapods
卸载完成后,这个文件夹会被清空
3 [!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down
当我们使用pod update 或者 pod repo update 时,可能会出现 [!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down问题

一开始我认为是网络问题,后来频繁的出现我发现是链接github出现了问题。
在stackoverflow 我找到了解决办法。
在这里可以看到出现这个问题的原因,以及解决的办法
2018年2月之后,其中一个主要问题是“弱密码标准被删除”。
To solve this, first you need to update openssl, then ruby, then cocoapod.
开始搬运代码
$ which openssl
/usr/bin/openssl
$ openssl version
OpenSSL 0.9.8zh 14 Jan 2016
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew update
$ brew install openssl
$ brew upgrade openssl
`` If you need to have this software first in your PATH run: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
$ echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile
$ which openssl
/usr/local/opt/openssl/bin/openssl
$ openssl version
OpenSSL 1.0.2n 7 Dec 2017
$ brew install rbenv ruby-build
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
$ source ~/.bash_profile
$ rbenv install --list
Available versions:
1.8.5-p52
1.8.5-p113
1.8.5-p114
1.8.5-p115
1.8.5-p231
1.8.6
:
2.5.0-rc1
2.5.0
2.6.0-dev
:
$ rbenv install 2.5.0
$ rbenv versions
* system (set by /Users/username/.rbenv/version)
2.5.0
$ ruby --version
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]
$ rbenv global 2.5.0
$ rbenv versions
system
* 2.5.0 (set by /Users/username/.rbenv/version)
$ ruby --version
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16]
$ gem install cocoapods -n /usr/local/bin
$ which pod
/usr/local/bin/pod
$ pod --version
1.4.0
成功走到最后,则代表安装成功了,可以放心的 pod update 和 pod repo update了
Ruby选择的版本必须是大于2.0.0版本,最好是选择最新的例如 2.5.0 或者 2.5.1
在 2018.4.24你pod可能更新的是1.5.0版本,这个关系不大
还有一种解决方案 是每次需要更新你的repo时,将老版本的repo删除,重新下载
$sudo rm -fr ~/.cocoapods/repos/master
$pod setup
$pod install
6. 快速添加第三方库
在使用CocoaPods添加第三方库类库时,无论是执行``` pod install 还是 pod update 时,经常会卡在Analyzing dependencies,这是因为在更新本地 pod spec文件导致的。通过no-repo-update标志可以不更新本地 pod spec``索引。
注意:第一次创建CocoaPods时不能使用,需要更新本地repo时不能使用
pod install --no-repo-update
pod update --no-repo-update
打印详细日志
pod update -verbose
iOS 10.10 10.11 10.12 安装升级CocoPods的更多相关文章
- VMware Workstation 11 安装MAC OS X 10.10 Yosemite(14B25)图解 2015-01-13 12:26:01|
VMware Workstation 11 安装MAC OS X 10.10 Yosemite(14B25)图解 2015-01-13 12:26:01| 分类: 网络互联 | 标签:10.10 ...
- VMware 12安装Mac OS X 10.11&解决上网的问题
近日想在Win10上安装Mac OS 玩玩,于是上网搜了相关资源,查看了相关经验分享,开始着手安装.系统很快成功安装,但最大问题是虚拟机中的Mac OS无法上网.费了很长时间,最终看到Ping通结果, ...
- Ubuntu 11.10下GRUB 2 1.99版编译安装笔记
Ubuntu 11.10下GRUB 2 1.99版编译安装笔记 以下的安装笔记,都是QLi自己学习grub2 时,所整理的,还是新手,有错误的话,请大家帮忙就别提出来了. 最新版grub V1.99官 ...
- 安装教程-VMware 12 安装 Windows 10 企业版
VMware 12 安装 Windows 10 企业版 1.实验描述 在虚拟机中,手动安装 Windows10 企业版操作系统,为一些实验提供平台,因此,有关系统激活问题不再演示.可自行百度,或者加入 ...
- 升级10.11.6后CocoaPods的坑,之前10.11.4已经安装好的,居然没了Failed to locate Homebrew!
升级10.11.6后CocoaPods的坑,之前10.11.4已经安装好的,居然没了,用命令 sudo gem install cocoapod 装不上,换 sudo gem install -n/u ...
- [团队项目]第二个冲刺 看板和燃尽图 Sprint2 6.8/6.9/6.10/6.11/6.12/6.13/6.14
1.开始一个新的冲刺: 起止:2016.6.1~2016.6.14 按照以下过程进行 ProductBacklog:继续向下细化 Sprint 计划会议:确定此次冲刺要完成的目标 Sprint Bac ...
- ubuntu 11.10 安装apache2 tomcat6
ubuntu 11.10 安装apache2 tomcat6 导读 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目 ...
- OSX 10.10+Xcode5.1 无法启动或者安装应用程序到iOS 6.1 simulator
错误症状: OSX 10.10+Xcode5.1 无法启动或者安装应用程序到iOS 6.1 simulator 错误原因: iOS Simulator 内核要使用OSX 系统内核,所以iOS Simu ...
- Ubuntu 11.10 安装GMONE3,卸载 UNITY和UNITY 2D
Ubuntu 11.10安装GNOME3: 1)sudo apt-get install gnome-shell sudo apt-get install gnome-themes* (或者 ...
随机推荐
- 基于嵌入式操作系统VxWorks的多任务并发程序设计(1)――基本概念
1引言 嵌入式系统定义义为:嵌入到对象体系中的专用计算机系统."嵌入性"."专用性"与"计算机系统"是嵌入式统的三个基本要素,对象系统则是指 ...
- dojo、iframe和FusionCharts兼容性
今天,我们项目组对项目收尾检查,却突然发现了一个问题,FusionCharts出现兼容性问题. 在火狐浏览器上,项目运行正常:在IE8(标准模式下)运行正常,但是在IE8杂项出现兼容性问题.经过检查, ...
- R分词
#用于下载安装rJava 和 Rwordseg,如果安装了就注释掉 install.packages("rJava") install.packages("Rwordse ...
- (二十)java小练习二
练习4:定义一个整数数组,编写程序求出一个数组的基数和偶数个数 package demo; /* * 定义一个整数数组,编写程序求出一个数组的基数和偶数个数 */ public class Tes ...
- docker学习系列(三):docker镜像的分层结构
docker的镜像分层 docker里的镜像绝大部分都是在别的镜像的基础上去进行创建的,也就是使用镜像的分层结构. 实验 比如说使用dockerfile去创建一个最简单的hello镜像.创建好对应的d ...
- Python Cookbook(第3版)中文版:15.20 处理C语言中的可迭代对象
15.20 处理C语言中的可迭代对象¶ 问题¶ 你想写C扩展代码处理来自任何可迭代对象如列表.元组.文件或生成器中的元素. 解决方案¶ 下面是一个C扩展函数例子,演示了怎样处理可迭代对象中的元素: s ...
- Redis进阶实践之十六 Redis大批量增加数据
一.介绍 有时,Redis实例需要在很短的时间内加载大量先前存在或用户生成的数据,以便尽可能快地创建数百万个键.这就是所谓的批量插入,本文档的目标是提供有关如何以尽可能快的速度向Redis提 ...
- 【Luogu2444】病毒(AC自动机)
[Luogu2444]病毒(AC自动机) 题面 洛谷 题解 如果存在一个无限长的串 证明可以在\(AC\)自动机上找到一个环 然后在上面可以无限跳 所以构建\(AC\)自动机 在上面跑\(dfs\)就 ...
- 【BZOJ2431】逆序对数列(动态规划)
[BZOJ2431]逆序对数列(动态规划) 题面 Description 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组 ...
- Kruskal重构树(货车运输)
... 和Kruskal生成树一样 本来是u,v连一条f的边 现在变成新建一个点,点权为f,u v都像它连无边权的边 (实际上应该是u的根和v的根) 这样树有一些性质: 1.二叉树 2.原树与新树两点 ...