20.cocoapods的安装和使用
一.CocoaPods是什么?
CocoaPods是一个负责管理iOS项目中第三方开源库的工具。CocoaPods的项目源码在Github上管理。该项目开始于2011年8月12日,在这两年多的时间里,它持续保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间,在iOS开发中经常会用到第三方库如AFNetworking,ASIHttpRequest等,在使用第三方库时,你除了要导数源码外,但是,集成这些依赖库需要我们手动去配置,还有当这些第三方库发生了更新,还需要手动去更新项目。这就显得非常麻烦。有麻烦自然有解决办法,CocoaPods就是为了解决这个问题而生的。通过CocoaPods,我们可以将第三方的依赖库统一管理起来,配置和更新只需要通过简单的几行命令即可完成。
二.CocoaPods的下载及安装
mac系统已经默认安装好Ruby环境,如果你不确定自己系统中是否有Ruby的,可以在终端中输入命令行:ruby -v查看当前ruby版本。如图:
确定以后,接下来就可以下载和安装CocoaPods,只需要一行命令。在终端中输入一下命令:
sudo gem install cocoapods
但是,在终端敲入这个命令之后,时间会等待很久。原因是哪堵墙阻挡了cocoapods.org。
解决办法是,我们用阿里云的Ruby镜像来访问cocoapods.按照下面的顺序在终端中按顺序敲入命令:
1.检查你的Ruby源:(注意:$不要复制敲入)
$gem sources -l
默认情况下,终端应该返回信息: *** CURRENT SOURCES ***
https://rubygems.org/
当然这个源仔墙内饰访问不到的大大的。因为我们需要寻找一个可以在国内访问到的镜像。目前笔者找到的是http://rubygrms-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
然后查看pod 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 项目文件的位置 (cd后面加空格)
然后,添加一个Podfile文件:vim podfile
例:终端代码示例
Last login: Fri Dec 30 11:03:43 on ttys000
haonandeiMac:~ c x n $ cd /Users/chenxiaonan/Desktop/auto
haonandeiMac:auto cxn $ vim podfile
然后,按i进入插入模式,进行编辑,在文件中输入一下内容:
注意:百度上很多旧版本输入的类容:
platform :ios, '8.1'
pod 'AFNetworking', '~> 2.0'
它会报:[!] The dependency `AFNetworking (~> 3.0)` is not used in any concrete target.
现在版本升级官方给的文档是:
source ‘https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target '你的项目名称' do
pod 'AFNetworking', '~> 3.0'
end
注意:'你的项目名称'是你项目文件中'xx.xcodeproj'文件,'xx.xcodeproj'去掉后缀名所得的‘xx’==(就是)‘你的项目名称’
例:终端事例
输入完成按ESC退出编辑模式,最后输入:wq保存并退出文件。此时可以发现项目目录下多了一个Podfile的文件,请注意这个文件必须与.xcodeproj在同一目录下。 最后:
pod install 例:终端代码
Last login: Fri Dec 30 11:03:43 on ttys000
haonandeiMac:~ c x n$ cd /Users/chenxiaonan/Desktop/auto
haonandeiMac:auto c x n$ vim podfile
haonandeiMac:auto c x n$ pod install
完美收工! 附加:CocoaPodspodinstall/podupdate更新慢的问题参考一下链接:
http://blog.csdn.net/ralbatr/article/details/39082937
删除已安装好的第三方
第一步:
删除podfile 下图:
第二步:
cd 项目文件的位置 (cd后面加空格)
然后,添加一个Podfile文件:vim podfile
重新操作安装一下
pod install之后 就会出现
完美收工!
20.cocoapods的安装和使用的更多相关文章
- CocoaPods的安装、使用、以及遇到的问题
CocoaPods是什么? 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而 ...
- iOS 最新版 CocoaPods 的安装流程
iOS 最新版 CocoaPods 的安装流程1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources - ...
- 最新版 CocoaPods 的安装流程
iOS 最新版 CocoaPods 的安装流程 1.移除现有Ruby默认源 $gem sources --remove h ...
- Cocoapods的安装
1.先升级Gem sudo gem update --system 2.切换cocoapods的数据源 [先删除,再添加,查看] gem sources --remove https://rubyge ...
- Cocoapods的安装,卸载和使用
[一]Cocoapods的安装 (1)Cocoapods的官方网站为: https://cocoapods.org/ .如果你的电脑已经安装了Ruby开发环境,那么在终端(Terminal)中使用以下 ...
- OS10.11系统下 安装cocoapods 以及 安装cocoapods-xcode-plugin-master插件来加载三方框架
http://www.cnblogs.com/cheng923181/p/4883476.html OS10.11系统下 安装cocoapods 以及 安装cocoapods-xcode-plugin ...
- 【原】iOS学习46之第三方CocoaPods的安装和使用(通用方法)
本文主要说明CocoaPods的安装步骤.使用说明和常见的报错即解决方法. 1. CocoaPods 1> CocoaPods简介 CocoaPods是一个用来帮助我们管理第三方依赖库的工具. ...
- CocoaPods的安装(图文并茂)OS X 10.11 系统
这里是前言,可以跳过前言部分直接跳到后面"这里正式安装"开始看步骤: 系统:OS X EI Capitan 版本:10.11.2 开发工具:XCode:7.2 先给一个挺不错的关于 ...
- CocoaPods的安装及使用/利用开源库Diplomat实现分享及第三方登录/git的使用
<<史上最简洁版本>> 1.gem sources -l查看 当前的源 //1.1 sudo -i..以下都是以管理员的身份来操作的 2.gem sources --remov ...
随机推荐
- ASP.NET MVC 介绍
ASP.NET分为WebForm(数据访问层 界面层 业务逻辑层)和MVC MVC : Model(模型)是应用程序中用于处理应用程序数据逻辑的部分. 通常模型对象负责在数据库中存取数据. View( ...
- mac下webpagetest搭建
我的server和agent都是在mac上搭建的,所以会和linux下有些不同 一.安装配置Apache和PHP webpagetest需要使用PHP和Apache启动服务.mac默认安装了Apa ...
- IE6 7下常见CSS兼容性处理
以下是一些比较常见的IE6 7下的兼容性问题. 在当下这个时代,其实我们几乎可以不用再去针对IE6做兼容性的处理,除非你的公司还是诡异的要求你兼容到IE6.但是了解一些常见的兼容性问题还是可以帮助我们 ...
- Ptex源码学习笔记-2
写入纹理数据: 主要分为五种写入方式:新建纹理.编辑已有纹理.编辑ExtHeader中的指定项.写入元数据和写入指定面的纹理数据.写入过程中数据存在一个临时文件中,在close时才会把临时文件的内容拷 ...
- css学习中的一些英文单词
indent 缩进 through通过 decoration装饰 position定位
- nginx实现动静分离
环境信息如下: 测试目的: 访问jpg文件的时候,会请求到192.168.1.106上面 访问其他文件会请求到192.168.1.103上面 nginx的安装详见前面的文章 nginx的配置如下 wo ...
- robotium(及百度cafe)运行testcase之后程序挂起没有响应的原因调查及解决
一.问题背景 刚开始用的是百度cafe搭建的框架,已经用了一些版本,最后的test版本在7.4的apk上能跑,但是在最新发布的7.5的版本上跑不了,直接提示nullPointer错误,通过打日志的方式 ...
- SOCKS 5协议详解(转)
笔者在实际学习中,由于在有些软件用到了socks5(如oicq,icq等),对其原理不甚了解,相信很多朋友对其也不是很了解,于是仔细研读了一下rfc1928,觉得有必要译出来供大家参考. 1.介绍: ...
- Android版本4.0~7.0
Android 4.0 Ice Cream Sandwich(冰激凌三明治):2011年10月19日发布 版本主要更新如下:全新的UI:全新的Chrome Lite浏览器:截图功能:更强大的图片编辑功 ...
- 二叉树基本操作C++
#include <cstdio> #include <climits> #include <cassert> #include <iostream> ...