从零开始学习CocoaPods安装和使用
从零开始学习CocoaPods安装和使用
CocoaPods是什么?
当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要 CocoaPods。
CocoaPods应该是iOS最常用最有名的类库管理工具了,上述两个烦人的问题,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。
iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库。
如何下载和安装CocoaPods?
由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下:
注意:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby语言编译环境。(有关Ruby语言的简介见百度百科)
1、Ruby环境搭建
值得庆幸的是,苹果的Mac OS X系统自带了ruby语言环境的(Python也自带了),在Mac终端输入 ruby -v 命令可以查看当前ruby版本。
Mac OS本身自带Ruby可能比较老旧,但还是更新一下保险,因为我第一次安装在没有更新Ruby的情况下安装CocoaPods就失败了。
a 查看下当前ruby版本:
打开终端输入 ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby)。终端显示如下:
- ritekiMac-mini:PodTest lucky$ ruby -v
- ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
- ritekiMac-mini:PodTest lucky$
b 更新ruby:
终端输入如下命令(把Ruby镜像指向taobao提供的Ruby镜像地址,避免被墙,你懂得)
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/ (注意淘宝已更新使用https了)
gem sources -l (用来检查淘宝提供的Ruby镜像地址是否设置成功)
- ritekiMac-mini:~ lucky$ gem sources --remove https://rubygems.org/
- https://rubygems.org/ removed from sources
- ritekiMac-mini:~ lucky$ gem sources -a http://ruby.taobao.org/
- http://ruby.taobao.org/ added to sources
- ritekiMac-mini:~ lucky$ gem sources -l
- *** CURRENT SOURCES ***
https://ruby.taobao.org/
2、下载安装CocoaPods
完成第一步Ruby环境配置后,接着在Mac终端输入: sudo gem install cocoapods 等待几秒钟,期间可能会提示你输入电脑的管理员密码,这个可以理解,用过Mac系统的都知道,在安装应用软件之前,都会提示你输入管理员密码的!
- ritekiMac-mini:~ lucky$ sudo gem install cocoapods
- CHANGELOG:
- ## 0.32.1
- ##### Bug Fixes
- * Fixed the Podfile `default_subspec` attribute in nested subspecs.
- [Fabio Pelosin][irrationalfab]
- \ [#2050](https://github.com/CocoaPods/CocoaPods/issues/2050)
- Successfully installed cocoapods-0.32.1
- Installing ri documentation for cocoapods-0.32.1
- /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:280: warning: conflicting chdir during another chdir block
- /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rdoc/rdoc.rb:287: warning: conflicting chdir during another chdir block
- Done installing documentation for cocoapods after 10 seconds
- 1 gem installed
这样就下载安装好了CocoaPods,看到这里,你心里会不会说,我靠!太爽了,这么容易就可以下载并且安装好了!是的,我也是这么想的。CocoPods就是这么简单,使用也十分简单。继续往下看吧。
3、使用CocoaPods
a. 使用Xcode在桌面上新建一个项目,名字PodTest
b. 在终端中,cd到项目总目录cd /Users/lucky/Desktop/PodTest(注意:一定是包含PodTest文件夹、PodTest.xcodeproj的那个总目录)
c. 建立Podfile配置文件: 在终端输入 touch Podfile 回车 (使用 vim Podfile也可以创建)
platform :ios, '6.0'
pod 'MBProgressHUD', '~> 0.9.2'
注意,这段文字不是凭空生成的,可以在MBProgressHUD的github页面找到。这两句文字的意思是,当前AFNetworking支持的iOS最低版本是iOS 6.0, 要下载的MBProgressHUD版本是0.9.2
然后按Esc,并且输入 : 号,进入vim命令模式,然后在 : 后边输入wq后回车,终端就会保存并退出vim编辑器。
f. 打开PodTest项目,发现总目录中多一个Podfile文件
g. 激动人心的时刻到了:
在终端 cd到项目总目录,然后输入 pod install,等待一会,大约3分钟。
h. 现在打开项目PodTest根目录文件夹,点击 PodTest.xcworkspace打开项目,注意上面终端中提示的那句话
From now on use `PodTest.xcworkspace`. 所以再也不要点击 PodTest.xodeproj打开项目了:
i. 打开项目后看到如下项目结构,试着导入头文件测试一下:
运行结果如下:
4. 补充知识:
1、如果需要同时导入多个第三方库文件时该怎么操作呢 ?
这就需要修改Podfile了,就是用vim编辑的那个保存在项目根目录中的文件,修改完了Podfile文件,需要重新执行一次pod install命令。
例如:
platform :ios
pod 'JSONKit', '~> 1.4'
pod 'AFNetworking', '~> 2.0'
2、如果不知道即将导入库文件的版本,此时可以利用CocoaPods的搜索功能去查找,也可以直接去gitHub上搜索该第三方库。
CocoaPods的搜索:打开终端输入命令:pod search MBProgressHUD 界面如下:
从零开始学习CocoaPods安装和使用的更多相关文章
- 从零开始学习jQuery (一) 入门篇
本系列文章导航 从零开始学习jQuery (一) 入门篇 一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些 ...
- 从零开始学习Hadoop--前言
Hadoop是最著名使用最广泛的分布式大数据处理框架,它是用Java开发的. 这本书有一个明确的目标:只要有一台能上网的计算机,就可以让读者在最短的时间内,学会Hadoop的初级开发.所以,这本书只讲 ...
- 从零开始学习jQuery (一) 开天辟地入门篇
一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章是入门第一篇, 主要是简单介绍jQuer ...
- iOS工具】rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决
〇.前言 <p>在iOS开发中 CocoaPods作为库依赖管理工具就是一把利器. 有了 CocoaPods则无需再通过拖 第三方库及第三方库所依赖的 framework静态库到项目中等麻 ...
- 从零开始学习 asp.net core 2.1 web api 后端api基础框架(二)-创建项目
原文:从零开始学习 asp.net core 2.1 web api 后端api基础框架(二)-创建项目 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...
- 从零开始学习docker之在docker中搭建redis(集群)
docker搭建redis集群 docker-compose是以多容器的方式启动,非常适合用来启动集群 一.环境准备 云环境:CentOS 7.6 64位 二.安装docker-compose #需要 ...
- 从零开始学习JAVA(入门基础)
目录 博主从零开始学习JAVA(入门基础) 1.搭建JAVA开发环境 卸载JDK(未安装的请忽略) 安装JDK 2.编程语言中,何为编译型与解释型 编译型 解释型 3.第一个JAVA应用程序 4.JA ...
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
- 最新的 cocoaPods 安装方法
经过努力终于发现了最新的 解决cocoaPods安装的办法: taobao Gems 源已停止维护,现由 ruby-china 提供镜像服务 第一步:安装rvm, 不管需不需要升级ruby,rvm可以 ...
随机推荐
- Spring相关概念的理解理解
spring 框架的优点是一个轻量级比较简单易学的框架,实际使用中的有点优点有哪些呢!1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 2.可以使用容易提供的众多服务,如事务管理,消息服务等 3 ...
- html元素 input各种输入限制
1.取消按钮按下时的虚线框,在input里添加属性值 hideFocus 或者 HideFocus=true <input type="submit" value=" ...
- eclipse Java类 红色感叹号 commit失败
解决方法: 1.进入java类文件所在物理目录 (e:\workspace\myproject\...) 2. 删除多余的版本管理工具的文件或文件夹(如 .svn) 3. 刷新eclipse工程 4 ...
- AGS API for JS代理页的使用
AGS API for JS代理页的使用 1.概述 代理页即使用后端语言编写的请求转发页面,部署在Web应用端.客户端请求先发送到该代理页,代理页再将该请求转发到服务器处理,服务器处理结果再经代理页转 ...
- C++基础--回调的应用
一.类成员函数的回调 1. 类成员函数的回调,函数的调用必须通过类来调用: CallBack.h #pragma once class CallBack { public: CallBack(); ~ ...
- undo表空间不足,ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS2'
故障现象:UNDO表空间越来越大,长此下去最终数据因为磁盘空间不足而崩溃: 问题分析:本问题在ORACLE系统管理中属于比较正常的一现象,产生问题的原因主要以下两点: 1. 有较大的事务量让Oracl ...
- SSIS ->> Environment Variables
SQL Server Integration Services(SSIS) 在2012版本引入了Environment Variables这个新特性.它允许我们为一个环境创建出一套变量用于为项目内的包 ...
- easyui datagrid行编辑中数据联动
easyui的datagrid中行内编辑使用数据联动.即:当编辑产品编号时,该行的产品名称自动根据产品编号显示出来. 在编辑中获取当前行的索引 function getRowIndex(target) ...
- IIS 无法安装URL重写模块的解决办法 UrlReWrite (.NET`SQL技术交流 群号206656202)
下载和安装URL Rewrite IIS8默认是没有安装URL重写工具的,必须要自己下载安装. 如果IIS上默认有安装Web平台安装程序,我们可以使用平台自动安装URL Rewrite重写工具,打开I ...
- linux(centos)设置tomcat开机启动
方法一: linux 下tomcat开机自启动修改Tomcat/bin/startup.sh 为: export JAVA_HOME=/usr/java/j2sdk1.4.2_08 export CL ...