什么是cocoapods

cocoapods是库管理工具。


cocoapods的用途

解决库之间的依赖关系。如前文所述: 一个开源的项目可能是另一个项目的基础, A依赖B, B依赖C和D, D又依赖EFG... 如果纯手工去处理这种依赖关系,会死人的!


cocoapods的优点

  1. 免去手工处理依赖关系之苦
  2. 集中管理应用的库
  3. 易于更新这些库

如何安装cocoapods

第一步: 因为GFW的关系, 如果没有速度特别快的国外VPN,执行如下命令将Ruby镜像切换到taobao:

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

输入如下命令确认一下Ruby镜像是否切换成功

$ gem sources -l

第二步: 安装cocoapods

sudo gem install cocoapods

如何在新建项目使用cocoapods

第一步: 在项目文件夹下创建名为Podfile的文本文件,并添加需要的库并保存,格式如下:

platform :ios, '7.0'
pod 'JSONKit', '~> 1.4'
pod 'Reachability', '~> 3.0'

第二步: 在项目文件夹下运行如下命令:

$ pod install

第三步: 以后运行项目的时候,双击以xcworkspace为后缀的文件

第四步: 然后就可以在头文件中

#import <Reachability/Reachability.h>

使用搜索

pod search <名称例如nimbus>

如何编译包含cocoapods的项目

比如从github下载下来一个项目,运行时候依赖关系报错,这时候需要更新

$ pod update

可能由于墙的的问题,无论是执行pod install还是pod update都卡在Analyzing dependencies不动了,慢到无以复加的地步,无法忍受。

其实原因在于以上两个命令执行时会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

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

cocoapods使用指南的更多相关文章

  1. 使用AVPlayer自定义支持全屏的播放器(五)—Swift重构版本

    前言 很早之前开源了一个简单的视频播放器,由于年久失修,效果惨目忍睹,最近特意花时间对其进行了深度重构.旧版本后期不再维护,新版本使用Swift实现,后续会增加更多功能.不想看文字的请自行下载代码-- ...

  2. 最新Mac OS X 10.12.1 安装cocoapods及使用详解

    cocoapods官网:https://cocoapods.org 一.什么是CocoaPods 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs ...

  3. Swift - 语言指南,来自github学习

    @SwiftLanguage 更新于 2016-6-6,更新内容详见 Issue 55.往期更新回顾详见<收录周报> 这份指南汇集了 Swift 语言主流学习资源,并以开发者的视角整理编排 ...

  4. 环信_EaseUI 使用指南

    EaseUI 使用指南 简介 EaseUI 封装了 IM 功能常用的控件(如聊天会话.会话列表.联系人列表).旨在帮助开发者快速集成环信 SDK. 源码地址: EaseUI:https://githu ...

  5. [CocoaPods]如何使用CocoaPods插件

    CocoaPods +插件 CocoaPods是一个由极少数维护者运营的社区项目,需要维护大量的表面区域.可以肯定地说CocoaPods永远不会支持Xcode支持的每个功能,即使这样,团队也必须对许多 ...

  6. [CocoaPods]使用Pod Lib创建

    入门 我们将使用pod lib create引导过程来创建整个pod .那么让我们从初始命令开始: pod lib create MyLibrary 注意:要使用您自己的pod-template,您可 ...

  7. [CocoaPods]制作CocoaPod

    创建自己的CocoaPod非常简单.如果你已经有一个单独的组件,那么你就是最重要的.本指南概述了整个过程,本节中的其他指南更适合更高级用户. 我们建议让CocoaPods在这里努力工作.Running ...

  8. [CocoaPods]使用Gemfile

    RubyGems + Bundler 对于许多人来说,CocoaPods是编程项目中依赖管理的第一个介绍.CocoaPods的很多想法来自类似的项目(例如RubyGems,Bundler,npm和Gr ...

  9. [CocoaPods]故障排除

    安装CocoaPods 如果您在macOS 10.9.0-10.9.2上安装,当RubyGems尝试安装jsongem 时可能会遇到问题.要解决此问题,请遵循以下说明 从macOS 10.8升级到10 ...

随机推荐

  1. Android中使用proguardgui混淆jar包

    本文章的前提条件是,读者已经掌握了正确导出jar包的技能. 1.拷贝Android项目中"proguard.cfg"文件到你指定的位置,并改名为"proguard.pro ...

  2. Moduli number system

    A number system with moduli is defined by a vector of k moduli, [m1,m2, ···,mk]. The moduli must be p ...

  3. .Net 提交页面,js修改的Label值会丢掉

    <head id="Head1" runat="server"> <script src="../Jquery/jquery-1.1 ...

  4. 打印grid

    void PrintButtonClick(object sender, EventArgs e) { PrintPreviewDialog dlg = new PrintPreviewDialog( ...

  5. 【CSS3】Advanced4:Advanced Colors

    1.rgba(red,green,blue,alpha(不透明度0.0(完全透明)与 1.0(完全不透明)) 2.HSLa(hue(色调 0red 120green 240blue),saturati ...

  6. oracle rac IP详解

    rac环境下vip/public/private IP的区别 每个节点要2块网卡, 3个IP,虚拟IP或者叫做业务IP,单个网卡当掉可以“漂”到其他网卡是继续提供服务 在Oracle RAC环境下,每 ...

  7. Windows Azure -Azure 网站、云服务和虚拟机的对比

    Azure 网站.云服务和虚拟机对比 概述 Azure提供了几种方法来承载网站: Azure网站.云服务和虚拟机.本文帮助您了解选项和为您的Web应用程序做出正确选择. Azure网站是大多数web应 ...

  8. HW4.36

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  9. Windows下使用GCC编译器

    1.GCC编译器的选择 Windows下最常见的安装GCC的方式有两种:Cygwin和MinGW.本文主要介绍MinGW的安装配置. 2.下载MinGW 下载地址:http://sourceforge ...

  10. Yii框架CGridView columns中使用数组或变量传值

    继续Yii框架的学习与使用,CGridView对于网站后台而言十分有用处,可以很快速地实现数据列表显示,并集成排序,搜索等功能,很巧妙. 今天,在项目中遇到了状态显示问题,在controller中定义 ...