随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫做:CocoaPods

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

废话不多说进入正题

.查看cocoapods是否支持某个类库

pod search 类库名,支持模糊查询(如:AFNetworking)

前期准本

1、Ruby环境搭建

当前安装环境为Mac mini 10.10。Mac  OS本身自带Ruby,但还是更新一下保险,因为我第一次安装在没有更新Ruby的情况下就失败了。

a 查看下当前ruby版本:打开终端输入 ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby)

更新ruby

终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得)

gem sources --remove https://rubygems.org/ 
gem sources -a http://ruby.taobao.org/ 
gem sources -l  (用来检查使用替换镜像位置成功)

-----------------------------------------------------(你的系统是新的话,上面这些是不需要的)-----------------------------------------------------------------------------------------------------------

下面这是开始

1.安装方式异常简单 , Mac 下都自带 ruby(我的ruby是不需要更新的,如要更新网上有很多),使用终端输入以下命令:

终端输入:sudo
gem install cocoapods

刚开始可能会没反应,稍等一会就好了

等待下载安装好了CocoaPods。

1.1假如出现出现(看一下绿色部分,不出现这个错误不用管):$ sudo gem install cocoapods 时失败,错误信息如下:

ERROR:  Could not find a valid gem 'cocoapods' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - Errno::ETIMEDOUT: Operation timed out - connect(2) (https://rubygems.org/latest_specs.4.8.gz)
ERROR: Possible alternatives: cocoapods

意识是说在官方源中找不到我们需要的源,这时怎么办呢,网上找到一篇博客,这样做的,切换官方源,也即是改变源的获取地址

这时候我们需要改变 gem source, 参考[4], [5]。需要在终端中执行如下命令: 

$ gem sources -l
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/ 
$ gem sources -l

接下来输入以下命令:

$ pod setup

终端输入:sudo gem install cocoapods

2.使用CocoaPods

a,新建一个项目叫CocoaPodsDemo

b ,终端中,cd到项目总目录(这个目录可以把下图位置那个那里拷贝下来(拷到中断后地址会转换的),再加上下面那个 
文件名,文件名获取:把目录或者文件拖到 终端窗口里面。

c.终端输入以下命令(cd后加空格)

cd /Users/lucky/Desktop/PodTest

d,建立Podfile(配置文件)

接着上一步,终端输入

vim Podfile

e,键盘输入
i,进入编辑模式,输入(注意输入法要在英文模式下)

platform
:ios, '7.0'
pod 'MBProgressHUD', '~> 0.8'

最近的命令行如下:
在创建Podfile的时候,用这种格式使用,

platform :ios, '8.0'
#use_frameworks!个别需要用到它,比如reactiveCocoa target 'MyApp' do
pod 'AFNetworking', '~> 2.6'
pod 'ORStackView', '~> 3.0'
pod 'SwiftyJSON', '~> 2.3'
end

f, 然后按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入wq,然后回车

g,最后输入以下命令(等待安装)

pod install --verbose --no-repo-update

现在关闭项目,打开时

注意:现在打开项目不是点击 PodTest.xodeproj了,而是点击 PodTest.xcworkspace

项目会多出

但是现在引入#import
"MBProgressHUD.h"头文件发现没有,可以这样解决

  • 选择Target -> Build Settings 菜单,找到\”User Header Search Paths\”设置项
  • 新增一个值"${SRCROOT}",并且选择\”Recursive\”,这样xcode就会在项目目录中递归搜索文件

到现在位置,基础教程已经完毕。有什么问题可以留言问我。

 

iOS开发~CocoaPods安装和使用的更多相关文章

  1. iOS开发 - CocoaPods安装和使用教程

    一.CocoaPods简介 1.什么是CocoaPods CocoaPods是iOS的包管理工具. 2.为什么要使用CocoaPods 在开发iOS项目时,经常会使用第三方开源库,手动引入流程复杂,并 ...

  2. iOS开展-CocoaPods安装和使用教程

    原文链接: iOS开展-CocoaPods安装和使用教程 修正已经增加了自己的理解. CocoaPods安装和使用教程 Code4App 原创文章.转载请注明出处:http://code4app.co ...

  3. iOS开发 - CocoaPods的常见使用方式

    1 CocoaPods 的安装 1.1 作用: 帮助管理和维护第三方框架,快速的搜索到第三方框架, 然后自动集成到工程里面来, 并编译成一个libPod.a的静态库给我们项目用 1.2 理解:  1. ...

  4. iOS开发 cocoapods的安装以及使用

    一.概要 iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库(从一个坑出来,又 ...

  5. iOS 之 Cocoapods安装

    进入正题前,先来点前奏:了解cocoapods是某天看一个博客,那时才明白原来写项目不用一个个将三方库拷进项目里啊,惊讶的我是一塌糊涂的啊...(原谅我那时还没进入过正规的IT公司....好多你们自然 ...

  6. iOS 之 cocoapods安装与使用

    我们都知道第三方库,一般使用cocoapods管理,cocoapods在我们IOS开发中有着很大的作用. 好了,现在看下它的安装步骤: 1.打开终端,输入 sudo gem install cocoa ...

  7. iOS开发CocoaPods使用

    一.为什么用CocoaPods iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三 ...

  8. iOS之Cocoapods安装

    网上关于cocoapods的教程很多,关于它的优点我不赘述:但是我根据多次安装的经验,把我遇到的问题写一下,希望对新手有所帮助. 1. 设置输入源(由于默认的gem资源是国外的,由于历史原因,访问比较 ...

  9. (转)iOS工具--CocoaPods 安装使用总结

    本文转载自:CocoaPods 安装使用总结(最新) 一.前言 关于什么是CocoaPods,使用CocoaPods的好处等问题本文不做说明,本文只是CocoaPods的安装和使用教程.根据此教程可以 ...

  10. iOS组件化开发-CocoaPods安装

    首先要检查Mac是否安装了rvm(ruby version manager).打开终端,输入指令$ rvm -v ,若没有安装 curl -L https://get.rvm.io | bash -s ...

随机推荐

  1. JSTORM中IRichBolt与IBasicBolt的区别

  2. JavaScript_8_比较,条件语句

    1. 比较运算符 ==(值相等,类型可以不等), ===(值和类型必须都相等), !=, >, <, >=, <= 2. 逻辑运算符 &&.||.! 3. 条件 ...

  3. 如何处理SAP云平台错误消息 there is no compute unit quota for subaccount

    当我试图部署一个应用到SAP云平台的neo环境时: 指定Compute Unit Size为Lite: 点击Deploy按钮,遇到如下错误消息:there is no compute unit quo ...

  4. 交叉熵cross entropy和相对熵(kl散度)

    交叉熵可在神经网络(机器学习)中作为损失函数,p表示真实标记的分布,q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量真实分布p与当前训练得到的概率分布q有多么大的差异. 相对熵(relativ ...

  5. selenium--iframe

    前戏 很多人在用selenium定位页面元素的时候会遇到定位不到的问题,明明元素就在那儿,用firebug也可以看到,就是定位不到,这种情况很有可能是frame在搞鬼. 进入到iframe <h ...

  6. retain, copy, assign以及autorelease

    一,retain, copy, assign区别 1. 假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b.此时a ...

  7. (68)zabbix windows性能计数器使用详解

    概述 windows下的性能计数器让zabbix监控更加轻松,直接获取性能计数器的数值即可完成windows监控.性能计数器如下:   1 perf_counter["\Processor( ...

  8. 【Python学习之五】高级特性2(切片、迭代、列表生成器、生成器、迭代器)

    2.迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration).在Python中,迭代是通过for ... in来完成的. ...

  9. 标准C++(4)继承

    一.继承的作用 若A类继承了B类,可以使A类获得B类中的部分成员变量和成员函数,这能使程序员在已有类的基础上重新定义新的类.继承是类的重要特性,当A类继承了B类,我们称A类为派生类或子类,B类为基类或 ...

  10. H5(一)H5与HTML、XHTML的不同

    一.基本概念 html:超文本标记语言 (Hyper Text Markup Language) xhtml:可扩展超文本标记语言,是一种置标语言,表现方式与超文本标记语言(HTML)类似,不过语法上 ...