【转】小白级的CocoaPods安装和使用教程

原文网址:http://www.jianshu.com/p/e2f65848dddc

百度有很多CocoaPods的安装教程.第一次看的时候,确实有点摸不透的感觉.经过思考,一步一步来实践,前后花了三十几分钟,才顺利使用.=.=所以想了想,我还是写一个小白级的教程吧.细到每一个细节都说明. 让你不用10分钟解决CocoaPods.

CocoaPods简介

每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm。随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的名字叫做:CocoaPods。

CocoaPods项目的源码在Github上管理。该项目开始于2011年8月12日,经过多年发展,现在已经成为iOS开发事实上的依赖管理标准工具。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。

CocoaPods的官网:https://cocoapods.org/

将官方的ruby源替换成国内淘宝的源

ruby的软件源rubygems.org因为使用的亚马逊的云服务,所以被墙了,需要更新一下ruby的源.

gem sources --remove https://rubygems.org/      //去掉ruby软件源

gem sources -a https://ruby.taobao.org/    //添加淘宝的源  (谢谢提醒修改。)

gem sources -l     //查看ruby软件源


安装

安装方式异常简单, Mac下都自带ruby,使用ruby的gem命令即可下载安装:

sudo gem install cocoapods   //由于sudo超级权限,所以会填用户密码

如果你的gem太老,可能也会有问题,可以尝试用如下命令升级gem:

sudo gem update --system


开始下载,受网络缘故,需要等待的时间有点久.

如果下载好了,会出现"20 gems installed"

查看下载进度

 


Cocoapods在将它的信息下载到~/.cocoapods目录下,如果你等太久,可以试着cd到那个目录,用du -sh *来查看下载进度。


查询下载进度

pod setup

pod setup在执行时,会输出Setting up CocoaPods master repo


安装好后,会出现"Setup completed"

使用Podfile

你看到这里也许会问,CocoaPods为什么能下载AFNetworking呢,而不是下载其他类库呢?这个问题的答案是,有个文件来控制CocoaPods该下载什么。这个文件就叫做“Podfile”(注意,一定得是这个文件名,而且没有后缀)。你创建一个Podfile文件,然后在里面添加你需要下载的类库,也就是告诉CocoaPods,“某某和某某和某某某,快到碗里来!”。每个项目只需要一个Podfile文件。

好吧,废话少说,我们先创建这个神奇的PodFile。在终端中进入(cd命令)你项目所在目录,然后在当前目录下,利用vim创建Podfile,运行:

 vim Podfile

然后在Podfile文件中输入以下文字:

platform :ios, '7.0'

pod "AFNetworking", "~> 2.0"

这两句文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 7.0, 要下载的AFNetworking版本是2.0。

其实,

platform :ios 

pod 'AFNetworking'

这样子就可以了.会自动最新的稳定版本.

vim环境下,保存退出命令是: 

:wq

有些人没用过vim的.直接打:wq ->Enter ,没反应.

实际是要这样:ESC  -> :wq  -> enter 你会发现,光标已经移到最下面了.

使用

然后你将编辑好的Podfile文件放到你的项目根目录中,执行如下命令即可:

cd "你的项目根目录"

pod install

现在,你的所有第三方库都已经下载完成并且设置好了编译参数和依赖,你只需要记住如下2点即可:

使用CocoaPods生成的.xcworkspace 文件来打开工程,而不是以前的.xcodeproj 文件。

每次更改了Podfile文件,你需要重新执行一次pod update命令。


全文结束.有部分内容来源百度,我只是重新收集,然后再补充一些细节的地方.

若有什么问题或文中有误的地方,请留言.



文/庞大不小(简书作者)
原文链接:http://www.jianshu.com/p/e2f65848dddc
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

转载于:https://www.cnblogs.com/wi100sh/p/5738507.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254732.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常见错误总结

少打头文件 少打using namespace std; 命名冲突&#xff0c;全局变量与局部变量命名一致&#xff0c;导致使用的值不是期望值 边读边写&#xff0c;导致改后读&#xff0c;覆盖写入的值 长整数移位溢出&#xff0c;1<<63是错误的&#xff0c;应该写成1ll<<63 循环变…

x264_sps_init

x264_sps_init此函数为序列量化集的初始化。主要对结构体x264_sps_t中参数的初始化。 void x264_sps_init( x264_sps_t *sps, int i_id, x264_param_t *param ) { sps->i_id i_id;首先设置序列参数集的ID b_qpprime_y_zero_transform_bypass判断码率控制方法是否是恒定质量…

HALCON相机标定相机内参相机外参

目录相机标定1.相机标定是什么2.怎么使用halcon进行相机内外参标定&#xff1f;&#xff08;1&#xff09;搭建硬件1.**相机连好电脑&#xff0c;用相机厂家软件打开相机&#xff0c;检查一下相机是否正常。**2.**接下来使用halcon连接相机**&#xff08;2&#xff09;开始标定…

ionic更改端口号

ionic serve -p 8888 —— 重新指定端口号为8888 serve [options] ............................... 启动本地服务器进行开发测试 dev/testing   [--consolelogs|-c] ..................... 输入app的控制台到ionic的控制台显示   [--serverlogs|-s] .....................…

angular change the url , prevent reloading

http://stackoverflow.com/questions/14974271/can-you-change-a-path-without-reloading-the-controller-in-angularjs $location.search({vln: $scope.vln_id}, false);会改变url中 &#xff1f; 后面的 搜索参数&#xff0c;但是controller不会重新实例化。angular 官方文档…

Ubuntu apt-get 更新/查看软件

ubuntu 升级软件&#xff1a; sudo apt-get update 更新源  sudo apt-get upgrade 更新已安装的包  sudo apt-get dist-upgrade 升级系统 ubuntu升级特定软件&#xff1a; 可以用 sudo apt-get install pkgname 看软件安装位置:dpkg -L xxxx 查看软件是否安装&#xff1…

X264设定

--aq-mode <integer> AQ method [1]- 0: Disabled- 1: Variance AQ (complexity mask)说明&#xff1a;自适应量化方法&#xff0c;可以改善某些场景过于模糊等问题&#xff0c;默认开启- 0: 关闭- 1: 可变AQ推荐值&#xff1a;默认范例&#xff1a;--aq-mode 1--aq-stre…

C#圆形卡尺测量程序基于halcon

废话不多说上源码 觉得帖子有用给点个赞哈 先来个效果图 下边的是源码&#xff0c;自己新建一个文件粘贴进去&#xff0c;包含到您现在的项目 中。这串源码后边是使用方法。 using System; using System.Collections.Generic; using System.Linq; using System.Text; usin…

MySQL松散索引扫描与紧凑索引扫描

什么是松散索引&#xff1f; 答&#xff1a;实际上就是当MySQL 完全利用索引扫描来实现GROUP BY 的时候&#xff0c;并不需要扫描所有满足条件的索引键即可完成操作得出结果。 要利用到松散索引扫描实现GROUP BY&#xff0c;需要至少满足以下几个条件&#xff1a;◆ GROUP BY 条…

算法马拉松24

算法马拉松24 A 小C的多边形 题意&#xff1a;n1个点的多边形。给外圈的边标记上1~n&#xff0c;里圈的边也标记上1~n&#xff0c;使得对于一个外圈相邻点与中间点构成的三角形的边权之和都相等。\(n \le 10^6\) 题解&#xff1a;显然每个三角形权值和为\(\frac{3(n1)}{2}\) 一…

HUD2795 线段树(单点更新)

题目中给出的h和w范围均大&#xff0c;其实n的最大范围才200000&#xff0c;所以我们建立的线段树大小为min(h,n),线段树的每一个节点包含一个变量c&#xff0c;记录当前区间内还剩下的可以put on的最大长度。插入一个数时&#xff0c;如果该数大于该区间最大值&#xff0c;则返…

科维PLC运行时系统ProConOS embedded CLR 2.2 特定应用

ProConOS embedded CLR是新型的开放式标准化PLC运行时系统&#xff0c;符合IEC 61131标准&#xff0c;可执行不同的自动化任务&#xff08;PLC、PAC、运动控制、CNC、机器人和传感器&#xff09;。   通过采用国际标准的微软中间语言&#xff08;依据IEC/ISO 23271标准为MSIL…

linux下vi命令大全

进入vi的命令 vi filename :打开或新建文件&#xff0c;并将光标置于第一行首 vi n filename &#xff1a;打开文件&#xff0c;并将光标置于第n行首 vi filename &#xff1a;打开文件&#xff0c;并将光标置于最后一行首 vi /pattern filename&#xff1a;打开文件&…

set()与get()详细解答(C#)

这几天在搬砖时候用到了set()与get()&#xff0c;同事问了我一些问题&#xff0c;我打算在博客中总结一下。 觉得帮助到了您&#xff0c;帮我点个赞哦。 属性访问器 其实说白了就是操作一个属性&#xff0c;更通俗一点说就是对一个变量的取值与赋值。 先来看get() get 访问…

IM应用中如何计算富文本的高度

背景 在开发IM的项目过程中&#xff0c;经常会有出现一些需要计算DOM高度&#xff0c;然后超出若干行隐藏等需求。很多时候&#xff0c;需要计算高度的DOM元素都是动态生成的&#xff0c;我们无法在数据渲染前获取到它的高度。 如果没有任何交互&#xff0c;我们可以通过CSS来实…

G代码 机器人的CNC实现

&#xfeff;  控制铣削工作台和工件的NC程序&#xff0c;通过CAD软件创建&#xff0c;这些NC程序与特定的机器类型相关。 NC程序在笛卡尔坐标系中动作的描述&#xff0c;对于需要确保一个明确的变换轴位置的关节型的机器人来说&#xff0c;缺少附加的状态和旋转信息。传…

IScroll5中文API整理,用法与参考

IScroll是移动页面上被使用的一款仿系统滚动插件。IScroll5相对于之前的IScroll4改进了许多&#xff0c;使得大家可以更方便的定制所需的功能了。 做项目的时候正好用到了这个插件&#xff0c;自己做了一下总结&#xff0c;发在这里方便大家学习IScroll5。 官网&#xff1a;htt…

Linux 安装USB摄像头

sudo apt-get updatesudo apt-get install fswebcamsudo apt-get install mplayersudo apt-get install alsamixer安装完毕ls /dev查找设备是否有video0这个设备sudo mplayer tv:// 可以看到摄像内容转载于:https://www.cnblogs.com/smartkeke/p/6820426.html

struct x264_t 维护着CODEC的诸多重要信息

//x264_t结构体维护着CODEC的诸多重要信息struct x264_t{/* encoder parameters ( 编码器参数 )*/x264_param_t param;x264_t *thread[X264_SLICE_MAX];/* bitstream output ( 字节流输出 ) */struct{int i_nal;x264_nal_t nal[X264_NAL_MAX];int i_bitstr…