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* (或者 ...
随机推荐
- Caused by: org.h2.jdbc.JdbcSQLException: Table "T_STUDENT_INFO" not found; SQL statement
1.错误描述 org.hibernate.exception.SQLGrammarException: error executing work at org.hibernate.exception. ...
- MySQL插入数据时插入无效的列
1.错误描述 com.mysql.jdbc.exception:jdbc4.MySQLSyntaxErrorException:Unknown column 'man' in 'field list' ...
- Linux之磁盘与文件系统管理
磁盘及文件系统管理详解 [参考文献:马哥视频] 原文:http://blog.csdn.net/u013008795/article/details/51150075 目前市场上主流的磁盘是机械式硬盘 ...
- ASP.NET WebForm 通过 PagedDataSource 实现 Repeater 的分页
1.效果图&代码说明 1.效果图 2.代码说明 1.翻页按钮 前台两个LinkButton(上一页.下一页),设置不同的CommandName.CommandArg ...
- C#中(int)、Conver.Toint32()、int.Parse()三种类型转换方式的区别与联系--C#基础知识
自己刚学习C#,总结了一些知识,想分享给大家.毕竟刚学习这门语言,学得不深,如果哪里有错误,请帮忙指出一下哈,谢谢! 1.(int)可用于单精度.双精度等其他数值类型的转换(到整型int),不能用于转 ...
- DirectSound---音效使用
DirectSound以DMO(DirectX Nedua Objects)的方式提供了对原始音频数据的处理,开发者能够通过VC6.0里的Audio Effect DMO Wizard来开发自定义的D ...
- ssm整合快速入门程序(二)
下面我们配置serivce层到项目中 1.service包中创建ItemsService.java接口,和service.imp包中创建一个service实现类ItemsServiceImpl.jav ...
- 【BZOJ1877】晨跑(费用流)
[BZOJ1877]晨跑(费用流) 题面 Description Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他 坚持下来的只有晨跑. 现在 ...
- win10怎么安装JDK8,配置JDK8的环境变量
win10怎么安装JDK8,配置JDK8的环境变量 本文详细说明怎么在win10上安装JDK8,方便小伙伴们快速学会安装与配置JDK. 工具/原料 windows10 jdk-8u51-windows ...
- 视频直播技术(七):Ijkplayer切换网络时停止播放的问题处理
问题起因: 在进行ijkplayer播放器的测试时,发现ijkplayer播放器在切换网络时出现直播画面停止的问题. 问题分析: 抓取日志发现:tv.danmaku.ijk.media.player. ...