【iOS-Develop技术文章-004】用CocoaPods做iOS程序的依赖管理

一、CocoaPods概述

  每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm。随着 iOS 开发者的增多,业界也出现了为 iOS 程序提供依赖管理的工具,它的名字叫做:CocoaPods

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

  在没有使用 CocoaPods 以前,我需要:

    (1)把这些第三方开源库的源代码文件复制到项目中,或者设置成 git 的 submodule。

    (2)对于这些开源库通常需要依赖系统的一些 framework,我需要手工地将这些 framework 分别增加到项目依赖中,比如通常情况下,一个网络库就需要增加以下 framework: CFNetwork, SystemConfiguration, MobileCoreServices, CoreGraphics, zlib。

    (3)对于某些开源库,我还需要设置-licucore或者 -fno-objc-arc等编译参数

    (4)管理这些依赖包的更新。

  这些体力活虽然简单,但毫无技术含量并且浪费时间。在使用 CocoaPods 之后,我只需要将用到的第三方开源库放到一个名为 Podfile 的文件中,然后执行pod install。 CocoaPods 就会自动将这些第三方开源库的源码下载下来,并且为我的工程设置好相应的系统依赖和编译参数。

二、CocoaPods 的安装和使用介绍

  

三、CocoaPods原理

  大概研究了一下 CocoaPods 的原理,它是将所有的依赖库都放到另一个名为 Pods 项目中,然后让主项目依赖 Pods 项目,这样,源码管理工作都从主项目移到了 Pods 项目中。发现的一些技术细节有:

    (1)Pods 项目最终会编译成一个名为 libPods.a 的文件,主项目只需要依赖这个 .a 文件即可。

    (2)对于资源文件,CocoaPods 提供了一个名为 Pods-resources.sh 的 bash 脚本,该脚本在每次项目编译的时候都会执行,将第三方库的各种资源文件复制到目标目录中。

    (3)CocoaPods 通过一个名为 Pods.xcconfig 的文件来在编译时设置所有的依赖和参数。

时间: 2024-12-24 08:19:40

【iOS-Develop技术文章-004】用CocoaPods做iOS程序的依赖管理的相关文章

用CocoaPods做iOS程序的依赖管理(转载)

原文链接:http://blog.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/ 用CocoaPods做iOS程序的依赖管理 MAY 25TH, 2014 文档更新说明 2012-12-02 v1.0 初稿 2014-01-08 v1.1 增加设置 ruby 淘宝源相关内容 2014-05-25 v2.0 增加国内 spec 镜像.使用私有 pod.podfile.lock.创建 spec 文件等内容

CocoaPods——用CocoaPods做iOS程序的依赖管理

文档更新说明 2012-12-02 v1.0 初稿 2014-01-08 v1.1 增加设置ruby淘宝源相关内容 2014-05-25 v2.0 增加国内spec镜像.使用私有pod.podfile.lock.创建spec文件等内容 CocoaPods简介 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm.随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的名字叫做:CocoaPods. CocoaPods项目的源码在G

iOS 用CocoaPods做iOS程序的依赖管理

文档更新说明 2012-12-02 v1.0 初稿 2014-01-08 v1.1 增加设置 ruby 淘宝源相关内容 2014-05-25 v2.0 增加国内 spec 镜像.使用私有 pod.podfile.lock.创建 spec 文件等内容 2015-09-03 v2.1 优化排版,调整一些描述方式,使文章更易读懂. CocoaPods 简介 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如 Java 语言的 Maven,nodejs 的 npm.随着 iOS 开发者的增多,业界

用CocoaPods做iOS第三方库管理

文档更新说明 2012-12-02 v1.0 初稿 2014-01-08 v1.1 增加设置ruby淘宝源相关内容 2014-05-25 v2.0 增加国内spec镜像.使用私有pod.podfile.lock.创建spec文件等内容 CocoaPods简介 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm.随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的名字叫做:CocoaPods. CocoaPods项目的源码在G

<转帖>用CocoaPods做iOS程序的依赖管理

CocoaPods简介 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm.随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的名字叫做:CocoaPods. CocoaPods项目的源码在Github上管理.该项目开始于2011年8月12日,经过多年发展,现在已经成为iOS开发事实上的依赖管理标准工具.开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间. 在我开

iOS疯狂详解之CocoaPods做iOS程序包的依赖管理

每种语言发展到一个阶段,就会出现相应的依赖管理工具, 或者是中央代码仓库.比如 Java: maven,Ivy Ruby: gems Python: pip, easy_install Nodejs: npm 随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,这个工具叫:CocoaPods. CocoaPods简介 CocoaPods是一个负责管理iOS项目中第三方开源代码的工具.CocoaPods项目的源码在Github上管理.该项目开始于2011年8月12日,经过一年多的发

CocoaPods :为iOS程序提供依赖管理的工具

http://www.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/ http://blog.csdn.net/showhilllee/article/details/38398119 http://blog.csdn.net/xdrt81y/article/details/30631221 http://www.it165.net/os/html/201408/9155.html http://www

CocoaPods:为iOS程序提供依赖管理的工具

本文转载自: http://www.devtang.com/blog/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/ (Posted by 唐巧 May 25th, 2014 iOS) 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven.随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的名字叫做:CocoaPods. CocoaPods项目的源码在Github上管理.该项目开始于201

iOS 用CocoaPods做iOS程序的依赖管理(基于Alcatraz),以及升级Mac 10.11后Xcode的CocoaPods插件报错

创建Podfile文件 1.点击红框, Creat Podfile 2.接着弹出Podfile文件 3.Edit Profile, 下面以添加融云SDK为例: 融云SDK Podfile文件添加如下内容: Podfile Edited 1 也可以这样编辑: 屏幕快照 2015-10-27 上午9.04.47.png "7.0"表示引入的第三方库所支持的最低版本 target "CocoaPodsDemo"是你的目标应用项目 do ... end 是你的作用域 Ins