简单理解CocoaPods

CocoaPods

Cocoapods是OS X和iOS下的一个第三方库管理工具。

意义

  1. 简化引入第三方库的配置工作项目中引入第三方库不可避免的要进行各种各样的配置,对于一些OC初级开发者来说,项目配置是一件繁琐且复杂的工作,在配置编译器和链接器选项的过程中很可能引入人为错误,而cocoapods简化了这一过程,它能够自动配置编译选项,方便了开发者。
  2. 可以方便地查找第三方库
    可以找到真正好用的第三方库,提升代码质量。

核心组件

CocoaPods是由ruby写的,并划分成了若干Gem包,在解析执行过程中几个重要的路径分别是CocoaPods/CocoaPods,CocoaPods/Core,CocoaPods/Xcodeproj.

  1. CocoaPods/CocoaPods:面向用户组件,所有的pod命令都在该组件内,它包括了所有实用的CocoaPods的功能,并且还能调用其他gem包来执行任务。

  2. CocoaPods/Core:提供了与CocoaPods相关的文件的处理(主要是podfile、pod specs)

  3. CocoaPods/Xcodeproj:负责与工程文件关系的处理。可以创建、修改.xcworkspace文件。

podfile&&podspec

  1. podfile:用于配置项目需要的第三方库,可以被高度定制,添加你想要的特性,详细使用教程:http://guides.cocoapods.org/syntax/podfile.html

  2. podspec:描述了一个库将怎样被加入到项目中,podspec可以标示该第三方库所需要的源码文件、依赖库、编译选项、库暴露的头文件等。

pod install 和 pod update的区别

pod install(下载并安装pod)

  1. 当pod file文件中有“增加pod,删除pod,修改pod”的操作之后使用。
  2. pod install执行完之后会将已下载的依赖库的版本号添加进podfile.lock文件
  3. pod install根据podfile.lock文件列出的已安装的pod的版本信息,只负责下载安装podfile.lock中不存在的pod,不会自动更新已安装的pod的版本。

pod update (更新已存在的pod)

  1. 按规则将podfile文件中的pod更新到最新版本。并将pod版本信息写入podfile.lock

原版解释

pod install

  • This is to be used the first time you want to retrieve the pods for the project, but also every time you edit your Podfile to add, update or remove a pod.

  • Every time the pod install command is run — and downloads and install new pods — it writes the version it has installed, for each pods, in the Podfile.lock file. This file keeps track of the installed version of each pod andlocks those versions.

  • When you run pod install, it only resolve dependencies for pods that are not already listed in thePodfile.lock.

    • For pods listed in the Podfile.lock, it downloads the explicit version listed in the Podfile.lock without trying to check if a newer version is available
    • For pods not listed in the Podfile.lock yet, it searches for the version that matches what is described in the Podfile (like in pod 'MyPod', '~>1.2')

pod outdated

  • When you run pod outdated, CocoaPods will list all pods which have newer versions than the ones listed in thePodfile.lock (the versions currently installed for each pod). This means that if you run pod update PODNAME on those pods, they will be updated — as long as the new version still matches the restrictions likepod 'MyPod', '~>x.y' set in your Podfile.

pod update

  • When you run pod update PODNAME, CocoaPods will try to find an updated version of the pod PODNAME, without taking into account the version listed in Podfile.lock. It will update the pod to the latest version possible (as long as it matches the version restrictions in your Podfile).

  • If you run pod update with no pod name, CocoaPods will update every pod listed in your Podfile to the latest version possible.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351

推荐阅读更多精彩内容

  • 项目组件化、平台化是技术公司的共同目标,越来越多的技术公司推崇使用pod管理第三方库以及私有组件,一方面使项目架构...
    swu_luo阅读 21,657评论 0 39
  • Ruby 安装 要安装cocospods 首先需要安装ruby,可以先安装xcode,再安装macport ,最后...
    山天大畜阅读 1,849评论 0 1
  • CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPo...
    朝洋阅读 25,669评论 3 51
  • CocoaPods操作手册 本文档介绍了啥? 为什么要使用CocoaPods? 如何安装CocoaPods? Po...
    风小钻阅读 7,549评论 1 10
  • 这几天整理思绪,把那些犹犹豫豫处理的关系,决定好好区分出来。 人活着,总归得先自己过了自己心里的那一关。不论哪一种...
    漫漫无忧阅读 238评论 5 3