一.CocoaPods是什么?

  CocoaPods是一个负责管理iOS项目中第三方开源库的工具。CocoaPods的项目源码在Github上管理。该项目开始于2011年8月12日,在这两年多的时间里,它持续保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间,在iOS开发中经常会用到第三方库如AFNetworking,ASIHttpRequest等,在使用第三方库时,你除了要导数源码外,但是,集成这些依赖库需要我们手动去配置,还有当这些第三方库发生了更新,还需要手动去更新项目。这就显得非常麻烦。有麻烦自然有解决办法,CocoaPods就是为了解决这个问题而生的。通过CocoaPods,我们可以将第三方的依赖库统一管理起来,配置和更新只需要通过简单的几行命令即可完成。

二.CocoaPods的下载及安装

  mac系统已经默认安装好Ruby环境,如果你不确定自己系统中是否有Ruby的,可以在终端中输入命令行:ruby -v查看当前ruby版本。如图:

确定以后,接下来就可以下载和安装CocoaPods,只需要一行命令。在Terminator(也就是终端)中输入以下命令:

   sudo gem install cocoapods

但是,在终端中敲入这个命令之后,会发现半天没有任何反应。原因是那堵墙阻挡了cocoapods.org。

解决办法是,我们可以用阿里云的Ruby镜像来访问cocoapods。按照下面的顺序在终端中敲入依次敲入命令:

首先,检查你的ruby源:

$gem sources -l

  默认情况下,终端应该返回如下信息:

*** CURRENT SOURCES ***

https://rubygems.org/

  当然这个源在墙内是访问不到的。因此我们需要寻找一个可以在国内访问到的镜像。目前笔者找到的是http://rubygems-china.oss.aliyuncs.com这个阿里云的镜像,当然随着时间的推移,未来这个镜像也有可能无法访问了,到时候就只能重新寻找了。

  确认镜像可用后,现在就要开始修改ruby源了。首先执行以下命令删除原来的ruby源:

$gem sources --remove https://rubygems.org/

  执行命令后可在终端看见以下信息:

https://rubygems.org/ removed from sources

  然后下一步添加你找到的可用的镜像源:

$gem sources -a http://rubygems-china.oss.aliyuncs.com

  此时如果你再执行gem sources -l命令,就能看到当前镜像源里只有阿里云这一个了。此时你就可以重新执行这一段开头的那句命令了:

$sudo gem install cocoapods

  如果一切正常,你应该能看到一段安装进度,以及最后有一条信息:

3 gems installed

  确认看见这条信息,后先判断的CocoaPods是否可以使用,可以用CocoaPods的搜索功能验证一下。在终端中输入:

pod search AFNetworking;

执行后可能会一直停在

Setting up CocoaPods master repo然后(很久)会出现如下错误:

解决办法是:

这说明CocoaPods还不能正常使用,需要更新pod,下载它的一些依赖包;在终端中输入:

   $ pod setup

过一段时间之后,你会在终端中看到跟上面同样的红色的错误信息。

这说明某些环境原因导致pod更新不了,可能原因有,1)gem版本太低;2)github无法链接;3).cocoapods目录下的配置信息错误。我们可以一个一个来排除,

首先更新gem到最新版本,在终端中输入:

$ sudo gem update --system 

然后检查是否可以ping通github,在终端中输入:

$ ping github.com 

然后查看pob repo list:

$ pod repo list

说明Cocoapods在将它的信息下载到 ~/.cocoapods里;

cd  到该目录里,用du -sh *命令来查看文件大小,结果显示0 repos,说明没有安装成功;

在终端输入:

cd ~/.cocoapods

进入cocoapods文件后在终端输入:du -sh *

重新执行pod setup,过一段时间后提示setup completed,在终端中输入 pod list,展示出安装列表;

这样总算安装好了。接下来再一次输入:

pod search AFNetworking

输入过后它可能会报:

[!] Unable to find a pod with name, author, summary, or descriptionmatching `AFNetworking`

解决方案是:

输入:

rm ~/Library/Caches/CocoaPods/search_index.json

后在一次输入:pod search AFNetworking

就可以咯。

三,cocoapods的使用

  首先来到你的项目文件:

  cd 项目文件的位置

  然后,添加一个Podfile文件: vim Podfile

然后按i进入插入模式,进行编辑,在文件中输入以下内容:

注意百度上很多旧版本输入的类容:

platform :ios, '8.1'
pod 'AFNetworking', '~> 2.0'
它会报:[!] The dependency `AFNetworking (~> 3.0)` is not used in any concrete target.
现在版本升级官方给的文档是:

platform :ios, '8.0'

target '你的项目名称' do

pod 'AFNetworking', '~> 3.0'

end

注意:'你的项目名称'是你项目文件中'xx.xcodeproj'文件,'xx.xcodeproj'去掉后缀名所得的‘xx’==(就是)‘你的项目名称’

输入完成后按ESC退出编辑模式,最后输入:wq保存并退出文件。此时可以发现在项目目录下多了一个Podfile的文件,请注意这个文件必须与.xcodeproj在同一目录下。

最后:

pod install

没报错就可以了。

Xcode8 重新配置 CocoaPods -替换阿里源的更多相关文章

  1. 【Linux】Ubuntu替换阿里源

    --------------------------------------------------------- 参考文章:https://www.jianshu.com/p/97c35d569aa ...

  2. linux替换yum源及配置本地源

    linux系统安装后自带的bash源由于在国外,安装软件包的时候会非常慢,最好替换一下yum源. ​关于yum源的简单介绍 ​           yum的主要功能是更方便地添加,删除和更新rpmba ...

  3. Ubuntu18.04 配置网卡、替换软件源

    2019/10/29, Ubuntu Server 18.04 摘要:Ubuntu Server 18.04 采用netplan作为网络配置管理,修改IP使其连上网络,修改替换软件源 修改网卡配置 首 ...

  4. apt-get 详解&&配置阿里源

    配置apt-get的下载源 1.复制原文件备份 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 2.编辑源列表文件 sudo vim / ...

  5. Ubuntu20.04安装 maven并配置阿里源

    Ubuntu20.04安装 maven并配置阿里源 sudo apt update sudo apt install maven #安装maven,默认安装路径为/usr/share/maven 添加 ...

  6. Ubuntu14.04.6配置阿里源

    Ubuntu14.04.6配置阿里源 这两天上手 Ubuntu 系统,因为公司用的是 14.04.6 版本,所以有了一些踩坑记录. 起因是安装完系统我需要安装一个搜狗输入法,过程得安装 fcitx,需 ...

  7. Java 配置maven及阿里云镜像

    一:配置maven 1.下载maven,选择Binary tar.gz,解压拷贝到目录/usr/local/ https://maven.apache.org/download.cgi 2.配置系统默 ...

  8. Mac中Java 配置maven及阿里云镜像

    一:配置maven 1.下载maven,选择Binary tar.gz,解压拷贝到目录/usr/local/ 1 https://maven.apache.org/download.cgi 2.配置系 ...

  9. Maven更换阿里源与仓库地址

    一.为什么要更换maven中的阿里源和仓库地址? 因为咱们下载安装的maven默认配置的源的服务器在国外,所以对于咱们来说,下载jar包的速度会很慢,所以咱们要把它替换为咱们国内的,可以换成好多,如华 ...

随机推荐

  1. [设计模式]<<设计模式之禅>>关于依赖倒置原则

    依赖倒置原则(Dependence Inversion Principle,DIP)这个名字看着有点别扭,“依赖”还“倒置”,这到底是什么意思?依赖倒置原则的原始定义是 High level modu ...

  2. 【模拟,时针分针秒针两两夹角】【没有跳坑好兴奋】hdu - 5387 (多校#8 1008)

    算是最好写的一道题了吧,最近模拟没手感,一次过也是很鸡冻o(* ̄▽ ̄*)o 注意事项都在代码里,没有跳坑也不清楚坑点在哪~ #include<cstdio> #include<cst ...

  3. React History

    1. browerhistory 1. 推荐使用, 2. nginx服务器要配置try-file,当找不到路由时跳转到首页 3. 使用浏览器history对象,不再允许直接访问nn 所以不能直接拷贝地 ...

  4. php学习-快速开发框架thinkphp-day1

    以下操作针对windows系统. 1.下载thinkphp3.23-all并解压 官方网站: http://www.thinkphp.cn/down.html 2.开发工具使用phpstorm htt ...

  5. 更换用installshield打包生成exe文件的图标【转】

    最近在研究用installshield2010为自己做的产品打包,自己在网上找写资料,胡乱折腾,最后弄成了一个exe安装包,想要修改exe文件的图标,发现Basic MSI project 无法用in ...

  6. Cocos移植到Android-通过命令行交叉编译打包

    当我们在Windows下使用Visual Studio开发好Win32平台的游戏程序后,我们需要把它们移植到不同的平台上.Cocos2d-x支持很多个平台,然而,我们不可能介绍全部平台的移植.我们总结 ...

  7. 应注意的Flex&Bison潜规则

    1.Flex的二义性模式 语法分析器匹配输入时匹配尽可能多的字符串 如果两个模式都可以匹配的话,匹配在程序中更早出的模式. 针对这一点的理解,在语法分析文件当中,token的识别,应从特殊到一般的过程 ...

  8. Libcurl笔记五_easy模式运行原理

    1, curl_easy_init内部调用Curl_open创建一个结构体SessionHandle(里面包含了所以curl使用的数据和指针)并初始化一些数据,然后返回将其作为给外侧使用的句柄CURL ...

  9. Poj OpenJudge 百练 2389 Bull Math

    1.Link: http://poj.org/problem?id=2389 http://bailian.openjudge.cn/practice/2389/ 2.Content: Bull Ma ...

  10. linux网络编程九:splice函数,高效的零拷贝

    from:http://blog.csdn.net/jasonliuvip/article/details/22600569 linux网络编程九:splice函数,高效的零拷贝 最近在看<Li ...