Using The CocoaPods to Manage The Third Party Open-source Libaries


  • 介绍

    CocoaPods是用来管理你的Xcode项目的依赖库的。使用一个名叫Podfile的文件来描述你的项目的依赖关系。CocoaPods会解析库之间的依赖关系,获取库的源代码,然后再Xcode的工作空间中将他们链接在一起来构建你的项目。归根结底,CocoaPods的目的是,通过创建一个更加集中的生态的系统来提高第三方开源库的可发现性和可管理性

    注:以上是CocoaPods官网对其的介绍(磕巴的英语,望见谅)https://guides.cocoapods.org/using/getting-started.html

  • 安装

    • 更新ruby的gem(gem版本过老时需要先更新)

      apple$ sudo gem update --system
    • 使用gem命令下载并安装CocoaPods

      apple$ sudo gem install cocoapods
    • 将ruby的源替换成国内的源

      apple$ gem sources --remove https://rubygems.org/
      apple$ gem sources --add https://ruby.taobao.org/
    • 将podspec索引文件更新到本地

      apple$ pod setup

      下载完成后,通过路径~/.CocoaPods查看所下载的内容,如图

  • 使用

    • 搜索

      apple$ pod search snapkit

      结果如图:

    • 切换到项目的一级目录,如:/Users/apple/Desktop/testCocoaPods;创建podfile文件

      apple$ cd cd /Users/apple/Desktop/testCocoaPods
      testCocoaPods$ vim podfile
    • 在podfile文件中描述项目所依赖的库

      platform :ios
      pod 'SnapKit'

      如图:

    • 下载依赖的第三方库,并将项目构建在一个工作空间内

      apple$ pod install

      注意:

      • 此时是无法下载成功的,会提示如图所示的错误信息

      • 以上错误原因是:没有指点iOS的版本,指定iOS的版本

        platform :ios, '9.0'
        pod 'SnapKit'
      • 此时仍无法更新成功,会提示如图所示的错误信息

      • 以上错误的原因是:Apple不允许你编译包含swift的静态库,详细原因:(http://stackoverflow.com/questions/29091522/error-running-pod-install-with-swift),修改podfile文件

        platform :ios '9.0'
        use_frameworks!
        pod 'SnapKit'
      • 执行pod install命令,成功下载SnapKit库的源文件,会提示如图所示的成功信息

        • 其中的podfile.lock文件用于锁定当前各个依赖库的版本
    • 查看集成了第三方库SnapKit的项目

      • 项目中文件如图所示

      • 打开上图所示的testCocoaPods.xcworkspace文件,项目的文件结构如图所示

  • pod install与pod update命令

    • 两者执行之前在执行之前,默认会先更新一次podspec索引。若要禁用,请使用如下命令:

      apple$ pod install --no--repo--update
    • pod install不会改变podfile.lock(避免依赖库的版本升级时,协作开发的多个开发者的项目的依赖库的版本不一致),pod update会改变,因此每次改变了podfile文件都需要执行一次pod update操作

CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)的更多相关文章

  1. CocoaPods的安装、使用、以及遇到的问题

    CocoaPods是什么? 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而 ...

  2. iOS 最新版 CocoaPods 的安装流程

    iOS 最新版 CocoaPods 的安装流程1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources - ...

  3. Cocoapods的安装,卸载和使用

    [一]Cocoapods的安装 (1)Cocoapods的官方网站为: https://cocoapods.org/ .如果你的电脑已经安装了Ruby开发环境,那么在终端(Terminal)中使用以下 ...

  4. OS10.11系统下 安装cocoapods 以及 安装cocoapods-xcode-plugin-master插件来加载三方框架

    http://www.cnblogs.com/cheng923181/p/4883476.html OS10.11系统下 安装cocoapods 以及 安装cocoapods-xcode-plugin ...

  5. CocoaPods的安装(图文并茂)OS X 10.11 系统

    这里是前言,可以跳过前言部分直接跳到后面"这里正式安装"开始看步骤: 系统:OS X EI Capitan 版本:10.11.2 开发工具:XCode:7.2 先给一个挺不错的关于 ...

  6. CocoaPods的安装及使用/利用开源库Diplomat实现分享及第三方登录/git的使用

    <<史上最简洁版本>> 1.gem sources -l查看 当前的源 //1.1 sudo -i..以下都是以管理员的身份来操作的 2.gem sources --remov ...

  7. iOS 最新版 CocoaPods 的安装使用

    当在开发iOS应用时,会经常使用到很多的第三方开源类库,一般的方法是直接从GitHub下载,然后拖到项目中使用,如果该开源类库不依赖其他的类库,就可以直接使用:如果该开源类库还依赖一些其他的类库,则需 ...

  8. 【转】CocoaPods的安装以及遇到的坑

    一.CocoaPods是什么? CocoaPods是一个用Ruby写的.负责管理iOS项目中第三方开源库的工具,CocoaPods能让我们集中的.统一管理第三方开源库,为我们节省设置和更新第三方开源库 ...

  9. 2016 Mac OS 10.11 CocoaPods的安装问题

    CocoaPods的安装问题: 1.首先用淘宝的Ruby镜像来访问CocoaPods,打开终端输入以下命令: (1)gem sources --remove  https://rubygems.org ...

随机推荐

  1. ASP.NET MVC系列:从Controller访问Model数据

    在项目解决方案中,添加一个MoviesController控制器,选择对应的模板,和模型类以及数据上下文:关于如何添加模型类和数据上下文,我们在ASP.NET MVC系列:添加模型中已经介绍过

  2. ASP.NET MVC在布局页上使用模型(model)

    看到这标题有点怪,一般情况之下,我们很容易在视图与部分视图中使用模型(model),但是如果想在布局页_Layout.cshtml页中使用模型(model),按照普通方式也许没有达到预期的效果,在实现 ...

  3. js 模块化历程

    作者:吕大豹 网址:http://www.cnblogs.com/lvdabao/p/js-modules-develop.html 这是一篇关于js模块化历程的长长的流水账,记录js模块化思想的诞生 ...

  4. C#编程总结(一)序列化

    C#编程总结(一)序列化 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数据. 几种序列化技术:      1) ...

  5. DevExpress winform XtraEditor常用控件

    最近在公司里面开始使用DevExpress winform的第三方控件进行开发和维护,这里整理一些常用控件的资料以便于后续查看 ComboBoxEdit 这个控件和winform自带的控件差不多,使用 ...

  6. MEF入门之不求甚解,但力求简单能讲明白(二)

    在上一篇文章中,我们已经学到了很基本的MEF概念和使用方法. 但我们导出的是一个object类型的实例,只能用来tostring,没有引用部件类库,也不能用里面的成员方法. 本篇,我们逐渐往简单的文件 ...

  7. 传智播客JavaWeb听课总结

    一. JavaWeb基础 第一天: 1.Eclipse详解: (1).Bad versionnumber in .class file:编译器版本和运行(JRE)版本不符合.高的JRE版本兼容低版本的 ...

  8. Firemonkey ListView 获取项目右方「>」(Accessory) 事件

    适用:XE6 或更高版本 说明:ListView 在基本的项目里提供了 Accessory(项目右方「>」符号),但要如何分辨是否按下>或者项目本身呢?在 XE6 提供了 OnItemCl ...

  9. DCloud与APICloud的对比

    DCloud与APICloud这两家目前应该说是市场占有率和人气较高的国内团队:国内还有一些其他的方案如AppCan.exMobi之类的,但可能是商业运作手法上Big不够,近两年的名气不太大,但各自其 ...

  10. 项目总结笔记系列 wsTax KT Session1

     项目总结笔记 1.专有名词解释: SMO, Separate Management Office. UAT, User Accept Test. GSLB, Global Server Load B ...