Xcode7安装CocoaPods
一、CocoaPods介绍以及优点
- CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。该项目源代码在Github上管理。
通过
CocoaPods,能够非常方便的查找到新的第三方库。CocoaPods的官网是这么描写叙述它自己的”The best way to manage library dependencies in
Objective-C projects”。 - 手动导入第三方开源库时,我们还须要在工程中配置一些文件,设置一些參数。有可能导入的库中缺少文件,这时我们要报错误时真的非常难发现。并且第三方库升级时,我们又要手动的去加入升级之后的库。觉得因素有时总会出现一些无可避免面的错误,有时你还发现不了,这让人非常苦恼。
二、CocoaPods原理
在使用CocoaPods后。我们仅仅须要把用到的开源库放到一个名为Podfile的文件里,然后运行pod
install.Cocoapods就会自己主动将这些第三方开源库的源代码下载下来。而且为我们的project设置好响应的系统依赖和编译參数。
1、Pods项目终于会编译成一个名为libPods.a的文件,主项目仅仅须要依赖这个.a 文件就可以。
2、对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本, 该脚本在每次项目编译的时候都会运行,将第三方库的各种资源文件拷贝到目 标文件夹中。
3、CocoaPods通过一个名为Pods.xcconfig的文件来在编译时设置全部的依赖和 參数。
三、CocoaPods安装
$sudo gem install cocoapods
这时你会发现报错了
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
原因无他,由于那堵墙阻挡了cocoapods.org。
国内不能直接安装,仅仅能通过VPN或淘宝的Ruby镜像来訪问。在这里,我们利用淘宝的Ruby环境来安装。继续输入下面命令:
$ gem sources --remove https://rubygems.org/
//等有反应之后再敲入下面命令
$ gem sources -a http://ruby.taobao.org/
输完以上两个命令时,你会发现还是报错。
报错:ERROR: Could not find a valid gem 'cocoapods' (>= 0), here is why:
Unable to download data from http://ruby.taobao.org/ - bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)
这就是问题关键所在了。本博主在升级Xcode7之后。报这个错误,我尝试各种办法。就是没查找出原因,最后才发现
淘宝的 ruby源已经改为了 https了(一定要注意 啊),所以要在这里输入命令:
$ gem sources -a https://ruby.taobao.org/
3、这时在输入命令,查看状态。发现成功的
$ gem sources -l
仅仅有在终端中出现以下文字才表明你上面的命令是成功的:
*** CURRENT SOURCES ***
https://ruby.taobao.org/
4、验证一下成功安装。输入命令:(我看有些博客 还须要 设置cocoapods(一定要运行$ sudo setup)。我没运行过。
$ pod search AFNetworking你会看到一下信息。AFNetworking 的各个版本号信息

四、CocoaPods使用
1、创建iOS项目,找到项目文件夹(xxx.xcodeproj)的同级文件夹
2、(1)在终端中进入(cd命令)你项目所在文件夹,然后在当前文件夹下。利用vim创建Podfile。执行:
$ vim Podfile
(2)“i”键进行podfile文件的编辑,退出编辑时先按下ESC键。再 执行 :wq ,Enter键就可以。(3)然后在Podfile文件里输入下面文字:
platform :ios, '8.0'
pod "AFNetworking", "~> 3.0"
这段文字不是凭空生成的。能够在AFNetworking的GitHub页面找到。这两句文字的意思是。当前AFNetworking支持的iOS最高版本号是iOS 8.0, 要下载的AFNetworking版本号是3.0。注意字符不能出错。直接从GitHub上的Podfile处复制过来(切忌字符不能有错)本博主写错了字符。单引號时以及多添了第二行的代码:watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
报错的信息:
(4)改动之后再执行一下命令$ pod installwatermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
(5)这时查看一下project文件名称文件夹。会发除了之前的Podfile文件之外,还现多了另外一个文件“Podfile.lock”和一个文件夹“Pods”![]()
3、打开项目project时。不再是之前的xx.xcodeproj了,而是打开xx.xcworkspaceproject,然后导入
#import <AFNetworking.h>
或者
#import "AFNetworking.h"都是能够的。
眼下来说,使用第三方开源库,后期更新导入升级之后的库easy出错,眼下使用CocoaPods管理第三方库我没出现过错误,只是我有两同学遇到过错误。是什么错误我也没去细问,有问题了再向他们询问吧。
在网上关于CocoaPods的安装和使用一大把的文章,在这里我仅仅推荐两篇我认为不错的文章。供大家參考:
http://blog.csdn.net/iunion/article/details/17010267
Xcode7安装CocoaPods的更多相关文章
- OS X EL Capitan安装Cocoapods 报错ERROR
升级OS X EL Capitan10.11之后,原来的pod不能用了,重新安装cocoapods,发现 在运行 “sudo gem install cocoapods” 的时候出现问题: ERROR ...
- 安装cocoapods遇到两大坑-Ruby版本升级和Podfile的配置
今天安装cocoapods #移除原有ruby源 $ gem sources --remove https://rubygems.org/ #使用可用的淘宝网 $ gem sources -a htt ...
- 安装cocoapods以及更新cocoapods
安装 1.设置ruby的软件源 这是因为ruby的软件源rubygems.org因为使用亚马逊的云服务,被我天朝屏蔽了,需要更新一下ruby的源,过程如下: gem sources -l #(查看当前 ...
- 安装cocoapods及相关问题解决
申明:本博客大部分内容转载自简书http://www.jianshu.com/p/b64b4fd08d3c,但还有些问题博主在这里做了补充. Mac系统版本:10.12.1 一.什么是CocoaPod ...
- 最新Mac OS X 10.12.1 安装cocoapods及使用详解
cocoapods官网:https://cocoapods.org 一.什么是CocoaPods 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs ...
- gem安装cocoapods
1.升级Ruby环境 sudo gem update --system 如果Ruby没有安装,请参考 如何在Mac OS X上安装 Ruby运行环境 2.安装CocoaPods时我们要访问cocoap ...
- 问题2: 安装cocoaPods出现的一系列问题
在新电脑上安装cocoaPods的时候,出现了一系列的问题,现在记录下来,方便查看 1.出现 Invalid mark letter (press RETURN) 解决方案:输入 :wq 即可 2. ...
- 安装cocoaPods的详细步骤
先大概说下安装的步骤: Xcode 这个是开发必须的, HomeBrew RVM Ruby CocoaPods 一.HomeBrew: 打开官网链接:http://brew.sh/index_zh-c ...
- 解决 安装cocoapods失败,提示 requires Ruby version >=2.2.2
步骤如下: rvm install ruby-2.2 但是,但是竟然报错了,具体我忘记额,但是是权限和brew的问题,那么我又转向修复brew: // 清理原来brew rm -rf /usr/loc ...
随机推荐
- 自定义View 可清除内容、设置图标、下划线的输入框 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- ARDC Android 远程桌面助手 录屏 演示 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Python Numpy模块函数np.c_和np.r_
np.r_:是按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等,类似于pandas中的concat(). np.c_:是按行连接两个矩阵,就是把两矩阵左右相加,要求行数相等,类似于pandas中的 ...
- Android -- Drag&&Drop
Android3.0提供了drag/drop框架,利用此框架可以实现使用拖放手势将一个view拖放到当前布局中的另外一个view中. 实现拖放的步骤 首先,我们先了解一下拖放过程,从官方文档可以知道, ...
- 【算法】Java-Redis-Hash算法对比-参考资料
Java-Redis-Hash算法对比-参考资料 redis java map 红黑树_百度搜索 java使用redis缓存(String,bean,list,map) - CSDN博客 redis ...
- 如何在原生工程中引入Cordova工程-for iOS 【转】
http://blog.csdn.net/e20914053/article/details/50170487 如今混合开发方兴未艾,有的项目可能一开始是原生开发的,后期需要加入混合开发,如将Cord ...
- Spring(十八):Spring AOP(二):通知(前置、后置、返回、异常、环绕)
AspectJ支持5种类型的通知注解: @Before:前置通知,在方法执行之前执行: @After:后置通知,在方法执行之后执行: @AfterRunning:返回通知,在方法返回结果之后执行(因此 ...
- Giraph源代码分析(九)—— Aggregators 原理解析
HamaWhite 原创.转载请注明出处!欢迎大家增加Giraph 技术交流群: 228591158 Giraph中Aggregator的基本使用方法请參考官方文档:http://giraph.apa ...
- Javascript常用语法 (一)
判断成员是否是一个函数: if (typeof options.sourceMapName === 'function') { mapNameGenerator = options.sourceMap ...
- LXC 容器集chroot使用说明
1.1 LXC是什么? 1.1.1 关于LXC LXC,其名称来自Linux软件容器(Linux Containers)的缩写,一种操作系统层虚拟化(Operating system–level vi ...