码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-12-14 14:20:45      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

一、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 的文件来在编译时设置所有的依赖和参数。

 

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

标签:

原文地址:http://www.cnblogs.com/songshuhaoNB/p/5044879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!