小农今天聊聊一款作为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. oracle SQL学习总结

    1.候选键.主键和外键约束: create table Employee( id int primary key, name char(20), birthday Date, address varc ...

  2. 工作流调度器azkaban2.5.0的安装和使用

    为什么需要工作流调度系统 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序.hive脚本等 各任务单元之间存在时间先后及前后依赖关系 为了很 ...

  3. PHP获取访问者公网IP

    if(!empty($_SERVER["HTTP_CLIENT_IP"])){  $cip = $_SERVER["HTTP_CLIENT_IP"]; } el ...

  4. oracle批量插入優化方案

    今天聽DBA説如果從一個表批量查詢出一批數據之後批量插入另外一張表的優化方案: 1)不寫歸檔日誌: 2)採用獨佔 關於insert /*+ append */我們需要注意以下三點: a.非歸檔模式下, ...

  5. P1828 香甜的黄油 Sweet Butter

    对于这道洛谷ac而我整了一下午的codevs的题,我也是很绝望啊. 原因是队列数组开小了我勒个去???我说STL怎么能过 题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧 ...

  6. [CF580E]Kefa and Watch

    题目大意: 维护一个由'0'~'9'构成的字符串,支持以下两种操作: 1.将指定区间内的所有字符修改为同一指定字符. 2.询问$x$是否为指定区间内的循环节. 思路: 建立一棵线段树,维护每个子串的哈 ...

  7. VM 操作系统实例化(基于 KVM 的虚拟化研究及应用--崔泽永(2011))的论文笔记

    一.VM操作系统实例化 1.建立虚拟磁盘镜像 虚拟磁盘镜像在逻辑上是提供给虚拟机使用的硬盘, 在物理上可以是 L inux系 统内一普通镜像文件, 也可以是真实的物理磁盘或分区. 本方案设计中将虚拟机 ...

  8. SVN提示https证书验证失败问题svn: E230001: Server SSL certificate verification failed:

    最近在使用Idea 检出 svn项目时,出现了如下的画面 显示需要授权证书,需要证书路径 搜索网上的解决方式:无非以下几种 1.File->Settings->Version Contro ...

  9. 【原】getInputStream()与getParameterMap()获得Post请求的数据区别

    [前言] 最近在写一个接口,写好以后想测试,自己写ajax(Post方法)来调用接口倒是可以用action所在类的属性的get/set方法获得数据.但是不只是页面的ajax会调用这个接口,还有外系统会 ...

  10. java 虚拟机启动参数 (转)

    在Java.J2EE大型应用中,JVM非标准参数的配置直接关系到整个系统的性能. JVM非标准参数指的是JVM底层的一些配置参数,这些参数在一般开发中默认即可,不需要任何配置.但是在生产环境中,为了提 ...