小农今天聊聊一款作为iOS开发者必备的第三方管理软件。希望程序猿朋友们看到小农的这篇文章后。可以真正的学会怎样灵活管理你项目中的第三方。

(一)CocoaPods是什么?

首先我们来认识一下这款第三方软件。当我们开发iOS应用时,会常常使用到非常多第三方开源类库,比方JSONKit,AFNetWorking等等。

可能某个类库又用到其它类库,所以要使用它。必须得另外下载其它类库,而其它类库又用到其它类库,“子子孙孙无穷尽也”,这或许是比較特殊的情况。总之小农的意思就是,手动一个个去下载所需类库十分麻烦。第二种常见情况是,你项目中用到的类库有更新。你必须得又一次下载新版本号,又一次增加到项目中,十分麻烦。

假设能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你须要
CocoaPods。

CocoaPods应该是iOS最经常使用最有名的类库管理工具了,上述两个烦人的问题,都能够通过cocoaPods来完美解决,你所要做的就是一行命令,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库。都支持CocoaPods。所以,作为iOS程序猿的我们,掌握CocoaPods的使用是不可缺少的基本技能了。

(二)安装CocoaPods的准备工作

在安装CocoaPods之前,首先要在本地安装好Ruby环境。

小农今天在此先安装homebrew(至于为什么要使用homebrew再安装ruby,我如今不用多说,后面你们自然明确),接下来我就介绍下怎样在Mac安装Ruby环境。

备注:以下全部命令均是在超级终端中完毕。全部命令均以$开头。

(1)安装homebrew

1.1安装homebrew就是以下这句命令:

$ ruby -e
"$(curl -fsSL https://raw.github.com/gist/323731)"

1.2 自己主动安装中......waiting

1.3  在安装过程中会要求输入管理员password。

1.4 输完password继续安装

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVjVWNl9uZWls/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

(2)安装ruby环境,

2.1加入淘宝ruby镜像

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

//等有反应之后再敲入下面命令

$ gem sources -a http://ruby.taobao.org/

(三)安装CocoaPods

输入命令:

$ sudo gem install cocoapods

開始安装:

检查安装完成的cocopads是否能正常执行,能够输入search命令进行測试:

正在搜索是否支持AFNetworking第三方。

搜索完成后的结果例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVjVWNl9uZWls/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="">

假设出现了上面的情况,那么就说明已经能够正常执行了。能够往里面加入第三方了。

(四)执行CocoaPods

(1)首先通过cd命令进入自己project所在的目录。

这里不用多说。

(2)然后在该目录内创建一个空白的Podfile文件,注意文件名称一定要是Podfile,由于到时候pods是通过这个文件来管理你的第三方的。

使用命令:$ touch Podfile

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVjVWNl9uZWls/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

(3)Podfile中写入相关信息

$  platform :ios,
'6.0'

$  'AFNetworking', '~> 2.5.0'

然后执行 $ pod install,执行结果例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVjVWNl9uZWls/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

看见这句蓝色的字了吗。说明成功安装了。

它提示以后使用project就通过这个xcworkspace的文件来訪问。

(五)使用CocoaPods

虽然前面安装看起来较为复杂,可是使用管理起来非常easy,要哪个第三方。就往 Podfile里面加入响应名称和版本。

然后执行  pod install命令就可以自己主动安装。

(六)常见错误

(1)Podfile路径写错误,更改位置就可以。

(2)cd命令找不到目录,检查路径。


教你摆脱低级程序猿 项目中cocopads的安装使用的更多相关文章

  1. 程序猿职业生涯中的 Norris 常数

    我的朋友Clift Norris发现了一个基本常数.我称之为Norris常数,一个未经培训的程序猿在他或她遇到瓶颈之前能写出的平均代码量.Clift预计这个值是1500行. 超过这个数以后,代码会变得 ...

  2. 全栈之路-小程序API-SpringBoot项目中参数校验机制与LomBok工具集使用

    参数校验机制在web开发中是非常重要的,每当看到现在所在公司的校验代码,我都有头疼,每一个接口都是重新写参数的校验,有些复杂的接口,参数的校验甚至占了整个接口代码量的挺大一部分的,看着我都有些头疼,我 ...

  3. laravel项目中通过nvmw安装node.js和npm 开发环境-- windows版

    windows版本安装 此教程执行的时候,网速一定要好.不然可能出现各种错误. 如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ git clone nvmw  直接从 githu ...

  4. 黑马程序猿——Java中的类载入器

    ------- android培训.java培训.期待与您交流! -------- 类载入器 Java虚拟机中能够安装多个类载入器,系统默认三个主要类载入器,每一个类负责载入特定位置的类: BootS ...

  5. C#控制台程序读取项目中文件路径

    //使用appdomain获取当前应用程序集的执行目录 string dir = AppDomain.CurrentDomain.BaseDirectory; //使用path获取当前应用程序集的执行 ...

  6. 在vue项目中stylus的安装及使用

    Stylus是一个CSS预处理器. Stylus安装包安装: dell@DESKTOP-KD0EJ4H MINGW64 /f/gsff-frone $ cnpm install stylus --sa ...

  7. 在项目中添加ReactiveCocoa #安装与配置

    这是对官方教程的补充 To add RAC to your application: Add the ReactiveCocoa repository as a submodule of your a ...

  8. iOS开发小技巧--初始化项目中修改APP安装后的名称

  9. ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十五节--缓存小结与ABP框架项目中 Redis Cache的实现

    返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 缓存 为什么要用缓存 为什么要用缓存呢,说缓存之前先说使用缓存的优点. 减少寄宿服务器的往返调用(round-tr ...

随机推荐

  1. ***实用函数:PHP explode()函数用法、切分字符串,作用,将字符串打散成数组

    下面是根据explode()函数写的切分分割字符串的php函数,主要php按开始和结束截取中间数据,很实用 代码如下: <? // ### 切分字符串 #### function jb51net ...

  2. java安装1.8的经验和Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVers问题处理

            java安装1.8后的问题:之前安装了jdk1.7和jdk1.6,之后又安装jdk1.8,然后执行java -version,输出的是1.8的,后来在注册表把jdk1.8改为1.7,然 ...

  3. Cap+Exceptionless实现日志消息发布订阅异常情况日志处理及Cap DashBoard授权处理

    Dashboard介绍 capOptions.UseDashboard(dashoptions => { dashoptions.AppPath = "applicationpath& ...

  4. Element-ui el-cascader不触发prop?

    html代码: <el-form label-position="right" label-width="100px" :model="form ...

  5. ES8之async/await学习随笔

    详细学习参考文档: 阮一峰老师的博客,覆盖知识点ES6/7/8/9,本篇学习笔记对阮老师的关于async/await文档中的知识点进行分点总结 在ES8中加入async/await新特性后,很明显带来 ...

  6. js数组去重与性能分析(时间复杂度很重要)

    随着js的深入和实际项目对性能的要求,算法的简单实现已经不能满足需要,在不同的应用场景下,时间复杂度很重要. 首先是创建数组与性能处理函数: // 保证时间差的明显程度,创建不同量级的数组,size为 ...

  7. BEM

    BEM代表块(Block),元素(Element),修饰符(Modifier).BEM是由Yandex团队提出的一种CSS Class 命名方法,旨在更好的创建CSS/Sass模块.通过增加前缀的办法 ...

  8. NLP文本相似度(TF-IDF)

    本篇博文是数据挖掘部分的首篇,思路主要是先聊聊相似度的理论部分,下一篇是代码实战.       我们在比较事物时,往往会用到“不同”,“一样”,“相似”等词语,这些词语背后都涉及到一个动作——双方的比 ...

  9. jvm 参数配置优化

    abtest业务线上接口每分钟执行3万多次,到半夜1点多访问量小的时候会经常报内存占比过高, 经调研分析发现与白天访问量高时线程数.cpu等无太大差异,主要差异存在内存会涨到很高并持续 一段时间. 现 ...

  10. HDU.5819.Knights(概率DP)

    题目链接 参考一下这的. \(Description\) 数轴上有n个骑士,分别位于1,2,3,...,n,它们的移动速度相同,初始移动方向已知.当两个骑士相遇时,各有50%的概率获胜,失败的骑士就死 ...