随着 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. POJA Star not a Tree?(模拟退火)

    题意 题目链接 给出$n$个点,求出一个点使得到各个点的距离之和最小,距离为欧几里得距离 Sol 模拟退火真是玄学,我退了一上午,最后把exp函数去了就A了. 后来改了改,发现是大小符号的问题.. 但 ...

  2. MyBatis关联查询、多条件查询

    MyBatis关联查询.多条件查询 1.一对一查询 任务需求; 根据班级的信息查询出教师的相关信息 1.数据库表的设计 班级表: 教师表: 2.实体类的设计 班级表: public class Cla ...

  3. MySQL开启skip-name-resolve和skip-networking优化

    使用skip-name-resolve增加远程连接速度 skip-name-resolve 该选项表示禁用DNS解析,属于官方一个系统上的特殊设定不管,链接的的方式是经过hosts或是IP的模式,他都 ...

  4. SharePoint 2010 缺少站点保存为模板选项

    如果您尝试在SharePoint Server 2010中保存网站,并且没有看到"将网站另存为模板"选项,则可能是因为该网站已启用发布功能.如果使用站点发布功能,则有几个选项可将网 ...

  5. 通过Jenkins调用自动部署war包及jar包到服务器上的Shell脚本

    1)部署war包#!/bin/bashif [ id>0];then echo"stopproject" kill −9 idelse echo "project ...

  6. UWP开发:应用设置存储

    应用设置储存指的是保存在应用程序储存区中的键/值对的字典集合,它自动负责序列化对象,并将其保存在应用程序里.以键/值对方式提供一种快速数据访问的方式,主要用于储存一些应用信息. 1,简介 应用设置是W ...

  7. JS实现单向链表、双向链表、循环链表

    https://cloud.tencent.com/developer/article/1114246 链表存储有序的元素的集合,但是和数组不同的是,链表中的元素在内存中的存储并不是连续的.每一个链表 ...

  8. flask 快速入门链接

    http://docs.jinkan.org/docs/flask/quickstart.html

  9. python @staticmethod和@classmethod

    Python其实有3个方法,即 静态方法 (staticmethod), 类方法 (classmethod)和 实例方法. 如下: def foo(x): print "executing ...

  10. 【思维题 集合hash 树上差分】11.5撸树

    要注重问题的转化和一些结论的推断 题目描述 要致富,先撸树. 一棵树的形状可以简化为一张 $N$ 个点 $M$ 条边的图,由于装备条件限制,你只有撸两次,也就是删去两条边,当这张图不联通时,就意味着树 ...