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 ...
随机推荐
- Java hashCode() 和 equals()的若干问题解答<转载自skywang12345>
第1部分 equals() 的作用equals()的作用是用来判断两个对象是否相等.equals()定义在JDK的Object类中.通过判断两个对象的地址是否相等(即,是否是同一个对象)来区分它们是否 ...
- eclipse.ini 内存设置
Ubuntu 系统下,Eclipse 配置文件: vi ~/eclipse/eclipse.ini -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:Max ...
- 奇怪吸引子---Finance
奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...
- go语言之进阶篇 channel介绍
1.channel介绍 和map类似,channel也一个对应make创建的底层数据结构的引用. 当我们复制一个channel或用于函数参数传递时,我们只是拷贝了一个channel引用,因此调用者何被 ...
- maskrcnn_benchmark代码分析(1)
可以先参考:Faster-RCNN代码+理论——1/2 Object Detection and Classification using R-CNNs 使用ipdb调试 try: import ip ...
- SharePoint 2016 IT Preview的新feature列表
大致看了一下, 其中关于存储的部分貌似没有. 感觉Hybrid in SharePoint 2016未来可以做的事情比较多吧, 必须赶紧弄个cloud的东西开始玩玩了. Search的部署的更新, 以 ...
- 自动化打包 Jenkins 持续集成 Git Gradle MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- android 系统层 常用类介绍
类名 功能介绍 示意图 surfacemanager为应用程序显示2d和3d程序无缝结合 mediaFramework 基于packetvideocore 该库支持常见视频图片格式的回放和录放譬如mp ...
- capwap学习笔记——初识capwap(一)
2 初识CAPWAP 2.1 CAPWAP简介 说了半天CAPWAP,连全称都还没说,汗-- CAPWAP--Control And Provisioning of Wireless Access P ...
- [Spring Boot] Use Component Scan to scan for Bean
Component Scan is important concept when we want to create Bean. Currently we know what, for the cla ...