iOS_SN_CocoaPods使用详细说明( 转)
一、概要
iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库。
二、安装
由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下:
注:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby环境
1、Ruby环境搭建
当前安装环境为Mac mini 10.8.5。Mac OS本身自带Ruby,但还是更新一下保险,因为我第一次安装在没有更新Ruby的情况下就失败了。
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,避免被墙,你懂得)
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l (用来检查使用替换镜像位置成功)
2、下载安装CocoaPods
终端输入:sudo gem install cocoapods
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
3、使用CocoaPods
a 新建一个项目,名字PodTest
b 终端中,cd到项目总目录(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录)
cd /Users/lucky/Desktop/PodTest
c 建立Podfile(配置文件)
接着上一步,终端输入 vim Podfile
键盘输入 i,进入编辑模式,输入
platform :ios, '7.0'
pod 'MBProgressHUD', '~> 0.8'
然后按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入wq
注意:键盘输入 :后,才能输入wq。回车后发现PodTest项目总目录中多一个Podfile文件
激动人心的时刻到了:确定终端cd到项目总目录,然后输入 pod install,等待一会,大约3分钟。
查看项目根目录:
注意:现在打开项目不是点击 PodTest.xodeproj了,而是点击 PodTest.xcworkspace
打开项目后看到项目结构并且测试一下:
运行结果:
补充:
1、CocoaPods的基本安装及使用都详细的说明了,但还有一些补充,当需要同时导入多个第三方时候怎么办 ?
这就需要修改Podfile了,就是用vim编辑的那个保存在项目根目录中的文件,修改完了Podfile文件,需要重新执行一次pod install命令。
例如:
platform :ios
pod 'JSONKit', '~> 1.4'
pod 'AFNetworking', '~> 2.0'
2、CocoaPods可以查找你想要的第三方库
终端输入命令:pod search UI
疯了了,我怎么查找这么大众的关键字,好多库~~
然后重新编辑Podfile文件,按照之前的步骤,把更多的库都导入项目!
本博客盗窃自阿福的博客,地址:http://blog.csdn.net/lizhongfu2013/article/details/26384029
============================我是分割线==================================
2015-11-18更新
淘宝已经关闭HTTP协议的景象服务,改为HTTPS协议。
淘宝ruby地址:https://ruby.taobao.org/
感谢@HeminWon 的指正
iOS_SN_CocoaPods使用详细说明( 转)的更多相关文章
- ZIP压缩算法详细分析及解压实例解释
最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...
- SASS教程sass超详细教程
SASS安装及使用(sass教程.详细教程) 采用SASS开发CSS,可以提高开发效率. SASS建立在Ruby的基础之上,所以得先安装Ruby. Ruby的安装: 安装 rubyinstaller- ...
- 史上最详细git教程
题外话 虽然这个标题很惊悚,不过还是把你骗进来了,哈哈-各位看官不要着急,耐心往下看 Git是什么 Git是目前世界上最先进的分布式版本控制系统. SVN与Git的最主要的区别 SVN是集中式版本控制 ...
- gulp详细入门教程
本文链接:http://www.ydcss.com/archives/18 gulp详细入门教程 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优 ...
- windows环境下sublime的nodejs插件详细安装图解
前面的话 搜索了好多文档后,才成功地安装了sublime text3的nodejs插件.为了存档,也为了方便有同样需求的朋友,将其安装过程详细记录如下 安装nodejs 虽然nodejs官网提供了 ...
- 【详细教程】论android studio中如何申请百度地图新版Key中SHA1值
一.写在前面 现在越来越多的API接口要求都要求提供我们的项目SHA1值,开发版目前还要求不高,但是发布版是必定要求的.而目前定位在各大APP中也较为常见,当下主流的百度地图和高德地图都在申请的时候会 ...
- Oracle 11g必须开启的服务及服务详细介绍
转自:http://www.educity.cn/shujuku/404120.html 成功安装Oracle 11g数据库后,你会发现自己电脑运行速度会变慢,配置较低的电脑甚至出现非常卡的状况,通 ...
- python select网络编程详细介绍
刚看了反应堆模式的原理,特意复习了socket编程,本文主要介绍python的基本socket使用和select使用,主要用于了解socket通信过程 一.socket模块 socket - Low- ...
- Linux1 在Linux(CentOS)上安装MySql详细记录
前记: 毕业两年了,前两天换了份工作,由以前的传统行业跳到了互联网行业.之前的公司一直在用WinServer2003+Tomcat+SqlServer/Oracle这套部署环境.对于Linux+To ...
随机推荐
- C#的tooltip自动消失之后就不再显示了解决办法
转:http://www.51testing.com/?uid-569418-action-viewspace-itemid-832231 在控件上加上tooltip之后,鼠标放到控件上,toolti ...
- jquery validation插件使用
首先需要引入jQuery.js和jquery.validate.js 以下面代码为例: <form id="mainform"> <fieldset> &l ...
- nginx虚拟配置
server { listen 8080; server_name www.manihome.com ; root "D:/WWW/mnmnh_2015"; location / ...
- sitecore(key\value\language)的灵活应用
1.当我们在做网站的时候是否会因为一个页面的文字变动来回改变.这样的麻烦sitecore都帮我们解决了. 2.sitecore分类key和value和语言几个维度.不同的key会因为不同的语言显示不同 ...
- block 做参数
三部分 1,定义函数 /* 传出类定义block */ //定义block typedef void (^ItemClickBlock)(NSInteger selectedIndex); //blo ...
- IE中对于stylesheet的个数限制
对于IE6-9: 1.样式规则最多只能有4095个,多于这个数目的会被忽略: 2.样式表(通过@import, <link> 或 <style>)最多可以有31个(总和),多于 ...
- window.onscroll
http://www.w3help.org/zh-cn/causes/SD9013 1.各浏览器对 document.document.body.document.documentElement 对象 ...
- no-cache、max-age=0、must-revalidate区别
之前深入搜索了多次,根据stackoverflow的回答进行一些总结(http://stackoverflow.com/questions/18148884/difference-between-no ...
- Inno Setup for Windows service
Inno Setup for Windows service? up vote86down votefavorite 77 I have a .Net Windows service. I want ...
- xcode教程,MAC常用命令
Vmware中为Mac Os安装vmtools 开机后,在Finder中就可以找到Darwin.iso,进行安装. 附件:vmtools for macos下载地址 https://softwareu ...