教你摆脱低级程序猿 项目中cocopads的安装使用
小农今天聊聊一款作为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的安装使用的更多相关文章
- 程序猿职业生涯中的 Norris 常数
我的朋友Clift Norris发现了一个基本常数.我称之为Norris常数,一个未经培训的程序猿在他或她遇到瓶颈之前能写出的平均代码量.Clift预计这个值是1500行. 超过这个数以后,代码会变得 ...
- 全栈之路-小程序API-SpringBoot项目中参数校验机制与LomBok工具集使用
参数校验机制在web开发中是非常重要的,每当看到现在所在公司的校验代码,我都有头疼,每一个接口都是重新写参数的校验,有些复杂的接口,参数的校验甚至占了整个接口代码量的挺大一部分的,看着我都有些头疼,我 ...
- laravel项目中通过nvmw安装node.js和npm 开发环境-- windows版
windows版本安装 此教程执行的时候,网速一定要好.不然可能出现各种错误. 如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ git clone nvmw 直接从 githu ...
- 黑马程序猿——Java中的类载入器
------- android培训.java培训.期待与您交流! -------- 类载入器 Java虚拟机中能够安装多个类载入器,系统默认三个主要类载入器,每一个类负责载入特定位置的类: BootS ...
- C#控制台程序读取项目中文件路径
//使用appdomain获取当前应用程序集的执行目录 string dir = AppDomain.CurrentDomain.BaseDirectory; //使用path获取当前应用程序集的执行 ...
- 在vue项目中stylus的安装及使用
Stylus是一个CSS预处理器. Stylus安装包安装: dell@DESKTOP-KD0EJ4H MINGW64 /f/gsff-frone $ cnpm install stylus --sa ...
- 在项目中添加ReactiveCocoa #安装与配置
这是对官方教程的补充 To add RAC to your application: Add the ReactiveCocoa repository as a submodule of your a ...
- iOS开发小技巧--初始化项目中修改APP安装后的名称
- ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十五节--缓存小结与ABP框架项目中 Redis Cache的实现
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 缓存 为什么要用缓存 为什么要用缓存呢,说缓存之前先说使用缓存的优点. 减少寄宿服务器的往返调用(round-tr ...
随机推荐
- K8s中,tomcat的一部分jvm参数,如何通过env环境变量传递?
这两天解决的一个需求: 如果用户没有在deployment中设置env参数,则tomcat默认使用1G左右的内存: 如果用户在deployment中提供了jvm参数,则tomcat将这部分的参数,覆盖 ...
- Flutter与Dart 入门
Flutter简介 Flutter是google推出的,一个使用Dart语言开发的跨平台移动UI框架,通过自建绘制引擎,能高性能.高保真地进行Android和IOS开发. Flutter是什么 Flu ...
- 【LOJ】#2073. 「JSOI2016」扭动的回文串
题解 就是一个回文串拼上左右两端 类似二分找lcp这么做 可以直接用哈希找回文串 注意要找A串前半部分,B串找后半部分 代码 #include <bits/stdc++.h> #defin ...
- streaming优化:spark.default.parallelism调整处理并行度
官方是这么说的: Cluster resources can be under-utilized if the number of parallel tasks used in any stage o ...
- 【Java】快速排序的非递归实现
快速排序一般采用递归方法(详见快速排序及其优化),但递归方法一般都可以用循环代替.本文实现了java版的非递归快速排序. 更多:数据结构与算法合集 思路分析 采用非递归的方法,首先要想到栈的使用,通过 ...
- jQuery-Selectors(选择器)的使用(二、层次篇)(转载)
原文:http://www.cnblogs.com/bynet/archive/2009/12/01/1614405.html 本系列文章导航 jQuery-Selectors(选择器)的使用(一.基 ...
- django URLconf调度程序
路由的编写方式是Django2.0和1.11最大的区别所在,Django官方迫于压力和同行的影响,不得不将原来的正则匹配表达式,改为更加简单的path表达式,但依然通过re_path()方法保持对1. ...
- Java基础组件快速入门
最近需要上线很多新的JAVA项目,然而很多JAVA的相关库都不太熟悉,项目实现起来遇到了不小阻力,熬了好几天夜.现在手头的工作基本完成了,因此打算好好来归纳下java的相关工具库,将来需要借助你们,好 ...
- Python异常处理回顾与总结
1 引言 在我们调试程序时,经常不可避免地出现意料之外的情况,导致程序不得不停止运行,然后提示大堆提示信息,大多是这种情况都是由异常引起的.异常的出现一方面是因为写代码时粗心导致的语法错误,这种错误在 ...
- InnoDB的锁机制浅析(All in One)
目录 InnoDB的锁机制浅析 1. 前言 2. 锁基本概念 2.1 共享锁和排它锁 2.2 意向锁-Intention Locks 2.3 锁的兼容性 3. InnoDB中的锁 3.1 准备工作 3 ...