自己关于cocoapods的使用的一些理解和总结
老大让我自己学习用一下cocoapods的使用,于是自己上网查了很多的信息,在安装使用过程中,总是出现了很多问题,然后发现有些人的教程好像并不完全好用,我的感觉是应该每个人遇到的问题都不尽相同,所以 你遇到的问题在别人那里可能并没有出现,这无可厚非,多查一些资料也就出来了。我的整理肯定也是基于我自己遇到的问题,肯定也不能说太完整。记录下来加强自己学习。希望也能帮助别人。发布后发现 图片不知道为什么显示不出来 ,尽快解决,我的步骤大致如此
安装cocoa pods的步骤和常出现的问题
1,1、Ruby环境搭建 当前安装环境为Mac mini 10.8.5。Mac OS本身自带Ruby,但还是更新一下保险,因为我第一次安装在没有更新Ruby的情况下就失败了。
a 查看当前rudy版本:打开终端输入 ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby)结果如下
b 更新ruby
终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得)
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l (用来检查使用替换镜像位置成功)
2、下载安装CocoaPods
终端输入:sudo gem install cocoapods
输入完这一句代码后可能会出现一个错误
ERROR: While executing gem ... (Gem::DependencyError)
Unable to resolve dependencies: cocoapods requires cocoapods-core (= 0.33.1), claide (~> 0.6.1), cocoapods-downloader (~> 0.6.1), cocoapods-plugins (~> 0.2.0), cocoapods-try (~> 0.3.0), cocoapods-trunk (~> 0.1.1), nap (~> 0.7)
解决方法:sudo gem update --system
但是出现了另一个错误:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
于是上网查找了一下 问了一些朋友,于是在一个朋友的帮助下 得到了答案,他给我一个连接上面是一个网友的总结。他是在Stackoverflow上找到的解决方法(在此推荐网友可以多去这个网站看看,上面有很多中外的大牛回答的问题,对工作很久的大牛都是知识的宝藏,更何况对于我们这些菜鸟而言呢)
解决方法如下
在终端中输入:sudo nvram boot-args="rootless=0"; sudo reboot
然后你的电脑会重启
之后再输入 sudo gem install cocoapods -V
就可以了
不放心的话输入
pod --version
0.37.2 //显示出版本就说明成功了
这时候就会显示出不得pod的版本
这样我们的cocoapods就算安装成功了 ,接下来我们就是要学习怎么用他了
这时候呢 我们需要创建一个崭新的工程(注:你们不一定要这么做,我创建个新的是为了让大家看清)
步骤如下,首先要在终端中cd 进行工程的根目录

如图所示
回车后输入命令穿件Podfile文件

于是可以看到 在我们的根目录中 就多了一个Podfile文件 如图
这时候我们需要下载什么三方库都可以在这个Podfile文件中设置了

然后当然要关闭这个文件 ,接着在终端中操作pod install然后回车
擦擦擦 竟然又出错了 咋回事呢
The dependency `` is not used in any concrete target
The dependency `AFNetworking ` is not used in any concrete target
这个错误的意思是要告诉我们,我们要下载的这个库没有用到我们任何一个项目中 说的明白点呢 就是你的Podfile文件中写的target不对 这个值要和我们的工程名一样否则就会出现这个错误,好了看看并且改过来吧。
好了 一切准备就绪,让我们再次在终端中操作pod install然后回车
终于出现了已下的界面

因为三方库都是随时更新的,所以这时候我们要做操作更新,其实是很简单 就是像下载三方库时的步骤基本一样 首先确保我们当前的目录是工程的根目录。然后输入指令pod update即可 显示出 update all pods 即可 ,这样就显示我们更新完毕了

最后呢我们再解决一个问题,这是这个问题不解决将极大的困扰我们的代码编写,啥问题尼, 那就是我们都知道xcode上方法名啊是系统提示的,可是我们用cocoapods下载的三方库默认情况下他是不提示的 怎么办呢 这个问题不解决虽然硬打也是可以用的 但这样会极大制约我们开发的效率 废话不多话 解决方法要来了
刚开始呢,我以为是三方库没下载完 或者步骤有问题 ,于是我就又尝试了几次 发现不是 于是上网查资料找到了解决方法 使用一下确实好用 解决方法就是:只要把pods目录添加到用户有文件检索的路径即可 具体实现如下
1.选择target(就是你左边工程target(工程名 一般为深蓝色那)) ———BuildSettings————search Paths下的User Header Search Paths(如图所示)

然后双击后面的空白区域

这时候会会出现下面的图 并且双击+ 输入:“$(PODS_ROOT)” 并且选择recursive 点回车就结束了 我们在工程中使用这些三方库的时候就有提示了(有的时候我们的xcodel可能反应不及时,重启一下试试)这步的步骤 如图

自己关于cocoapods的使用的一些理解和总结的更多相关文章
- 经验分享:极速化 CocoaPods
Cocopods 本身是一个优秀的 iOS 开发的包管理工具,涵盖了 7k+ 的开源组件,包管理库是托管在 Github.由于众所周知的原因它的速度日渐缓慢,有时会频繁报如下错误: 1 2 3 4 $ ...
- CocoaPods的一些理解
在这片博客中,我将分享我从cocopods中学到的东西. 如果你使用Cocoapods,你的.gitignore文件中会有什么. 这个问题在debate on SO中被提及,但是我建议只追踪Podfi ...
- 对于CocoaPods的简单理解,实践安装使用过程和常见问题
(本文是自己通过其他文章进行的自我编辑和简单修改,请大家凑活看看) 一.什么是CocoaPods CocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理.开发iOS项目不可避免地 ...
- [转]iOS系列译文:深入理解 CocoaPods
Cocoapods是 OS X 和 iOS 下的一个第三方库管理工具.你能使用CocoaPods添加被称作“Pods”的依赖库,并轻松管理它们的版本,而不用考虑当前的时间和开发环境. Cocoapod ...
- cocoapods安装
什么是cocoapods CocoaPods是一个用来帮助我们管理第三方依赖库的工具.它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我 ...
- iOS 开发:CoCoapods的使用和安装
CocoaPods的使用和安装 一.什么是CocoaPods? 前言: 思考如何引入一个第三方框架. 例如: 百度地图SDK.友盟.ShareSDK. 信鸽推送等. 从github或某处下载第三方SD ...
- iOS中的CocoaPods用法及常用命令
CocoaPods是什么? ***CocoaPods的使用场景:*** 1. 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用 ...
- 将自己写的库上传到cocoapods(2015)
2015年以前上传到cocoapods的方式相较于现在比较麻烦,现在用不上在此也就不提了.现在上传到cocoapods只需要简单的几步即可. 1.首先你需要有一个自我感觉写的差不多的库. 2.注册tr ...
- 如何正确使用Cocoapods
➠更多技术干货请戳:听云博客 一.介绍Cocoapods Cocoapods是引入为项目引入新血液的接口,只有引入了新血液,功能才可以多样化,进而满足不同的消费群体.使用Cocoapods可以方便日后 ...
随机推荐
- 5.openssl dgst
该伪命令用于生成文件的信息摘要,也可以进行数字签名,验证数字签名. 首先要明白,要进行数字签名,需要计算出特征码即数字摘要,然后使用私钥对数字摘要进行签名.特征码使用md5,sha等计算出. 对象只能 ...
- SQL Server 的表数据简单操作(表数据查询)
--表数据查询----数据的基本查询-- --数据简单的查询--select * | 字段名[,字段名2, ...] from 数据表名 [where 条件表达式] 例: use 商品管理数据库 go ...
- convert return char from sql server 2008 r2 or below version to c#
C# string.Replace((char)13, ' ') //newline char; string.Replace((char)10, ' ') //return char;
- redis的安装和启动
Windows下Redis的安装及PHP扩展使用 时间 2014-10-28 17:47:09 CSDN博客 原文 http://blog.csdn.net/wyqwclsn/article/de ...
- 学习ExtJs教程初级
搭建环境:myeclipse10 +tomcat6+jdk6 新建一个webproject(启动myeclipse:file--new--webproject) 导入相关的js和css(百度下载就好. ...
- java 的SPI机制
今天看到spring mvc 使用Java Validation Api(JSR-303)进行校验,需要加载一个 其具体实现(比如Hibernate Validator), 本来没有什么问题,但是突然 ...
- Centos apache + mysql + usvn 配置svn 服务器
1.遇到问题 提交异常:'svn/!svn/me'path not found http://www.myexception.cn/cvs-svn/1262826.html 更改http.conf 配 ...
- hdu4044 GeoDefense
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4044 题意:一个树上的塔防游戏.给你n个结点的树,你要在树结点上建塔防御,在第 i 个结点上有 ki ...
- SpringRMI远程方法调用
Spring为各种远程访问技术的集成提供了工具类. 该小段引用自 http://www.open-open.com/lib/view/open1408957290478.html Spring远程支持 ...
- Struts2理解--动态方法和method属性及通配符_默认Action
众所周知,默认条件下,在浏览器输入indexAction!execute.action,便会执行indexAction类里的execute方法,这样虽然方便,但可能带来安全隐患,通过url可以执行Ac ...