CocoPods简介

  1. CocoaPods是一个用Ruby写的,负责管理iOS以及OSX系统下的一个第三方类库管理工具,通过CocoaPods,我们可以集中,统一的管理第三方开源库。当然这些库徐亚CocoaPods本身支持。
  2. 在引入第三方库时,它可以自动为我们完成各种配置,包括响应系统以来,配置编译阶段,链接器选项,甚至是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. 搜索不到最新的第三方库版本

解决办法

  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 updatepod 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的更多相关文章

  1. 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  ...

  2. VMware 12安装Mac OS X 10.11&解决上网的问题

    近日想在Win10上安装Mac OS 玩玩,于是上网搜了相关资源,查看了相关经验分享,开始着手安装.系统很快成功安装,但最大问题是虚拟机中的Mac OS无法上网.费了很长时间,最终看到Ping通结果, ...

  3. Ubuntu 11.10下GRUB 2 1.99版编译安装笔记

    Ubuntu 11.10下GRUB 2 1.99版编译安装笔记 以下的安装笔记,都是QLi自己学习grub2 时,所整理的,还是新手,有错误的话,请大家帮忙就别提出来了. 最新版grub V1.99官 ...

  4. 安装教程-VMware 12 安装 Windows 10 企业版

    VMware 12 安装 Windows 10 企业版 1.实验描述 在虚拟机中,手动安装 Windows10 企业版操作系统,为一些实验提供平台,因此,有关系统激活问题不再演示.可自行百度,或者加入 ...

  5. 升级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 ...

  6. [团队项目]第二个冲刺 看板和燃尽图 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 ...

  7. ubuntu 11.10 安装apache2 tomcat6

    ubuntu 11.10 安装apache2 tomcat6 导读 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目 ...

  8. OSX 10.10+Xcode5.1 无法启动或者安装应用程序到iOS 6.1 simulator

    错误症状: OSX 10.10+Xcode5.1 无法启动或者安装应用程序到iOS 6.1 simulator 错误原因: iOS Simulator 内核要使用OSX 系统内核,所以iOS Simu ...

  9. Ubuntu 11.10 安装GMONE3,卸载 UNITY和UNITY 2D

    Ubuntu 11.10安装GNOME3: 1)sudo apt-get install gnome-shell    sudo apt-get install gnome-themes*   (或者 ...

随机推荐

  1. 3.3 与Cache相关的PCI总线事务

    PCI总线规范定义了一系列与Cache相关的总线事务,以提高PCI设备与主存储器进行数据交换的效率,即DMA读写的效率.当PCI设备使用DMA方式向存储器进行读写操作时,一定需要经过HOST主桥,而H ...

  2. R︱并行计算以及提高运算效率的方式(parallel包、clusterExport函数、SupR包简介)

    要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 终于开始攻克并行这一块了,有点小兴 ...

  3. 使用xfire搭建webService服务

    后边有个项目需要接入4A,要用到webService服务,暂时还不确定是不是会有我的事,但为了有备无患,还是抽时间学习了以下相关的知识. 本来我所了解到的发布webService服务有用cxf和xfi ...

  4. ssh禁止密码登录

    1.root用户登陆后,运行以下第一句指令,其他根据提示进行输入: ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file ...

  5. 【html5】html5离线存储

    html5本地存储之离线存储 1.为什么使用离线存储 ①最新的主流的浏览器中都已添加了对HTML5的offline storage功能的支持,HTML5离线存储功能非常强大, 它的作用是:在用户没有与 ...

  6. R语言︱构造新序列

    1.数值构造函数rep与seq #数值构造rep与seq rep(1:4,each=2)#依次重复1:4两遍 rep(1:4,2) #注意,重复1:4两遍 seq(from=3,to=5,by=0.2 ...

  7. 错误代码: 1045 Access denied for user 'skyusers'@'%' (using password: YES)

    1. 错误描述 GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "."; 1 queries exe ...

  8. SQLyog键盘快捷方式

    SQLyog键盘快捷方式 连接 Ctrl+M 创建新连接 Ctrl+N 以当前连接属性创建新连接 Ctrl+F4/Ctrl+W 断开当前连接 Ctrl+Tab 切换到下一个连接 Ctrl+Shift+ ...

  9. VME总线

    简介 诞生于25年前的VME(VersaModule Eurocard)总线是一种通用的计算机总线,结合了Motorola公司Versa总线的电气标准和在欧洲建立的Eurocard标准的机械形状因子, ...

  10. Error creating bean with name 'com.you.user.dao.StudentDaoTest': Injection of autowired dependencies

    1.错误描述 七月 13, 2014 6:37:41 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBean ...