在这片博客中,我将分享我从cocopods中学到的东西。

如果你使用Cocoapods,你的.gitignore文件中会有什么。

这个问题在debate on SO中被提及,但是我建议只追踪Podfile和Podfile.lock文件就行了。Pods文件,.xcworkspace文件,都在.gitignore里。

Not Cuckoo for CocoaPods可以获取更多关于这个问题正反两面资料。

pod install vs pod update

pod install

pod install 命令的作用是下载并且安装最新的第三方库文件,在Podfile.lock 文件中写入每一个已经安装的第三方库文件的版本号。这个文件的作用就是记录安装的第三方库文件的版本号,并且锁住它们的版本。

pod update

当你运行 pod update 命令 更行某些库文件,CocoaPods将会视图去找到这些库文件的最新版本,而不去考虑Podfile.lock文件中与这些库文件对应的版本号。它将会更新pod到最新的版本(只要它符合Podfile文件的版本限制要求)。

更多知识,请读Detailed presentation of the commandsCocoa​Pods on NSHipster

你能够编辑pod文件的来源。

是的,你能够编辑pod文件的来源,并且你的改变将会被下一个pod更新重写,除非你是用:path,关于这个知识点,请看reply by @orta

你的.xcodeproj文件仍然保持不变。

实际上,在第一次pod安装之后,.xcodeproj文件仍然保持不变。就像Cocoapods指出的一样。

CocoaPods将会出啊关键一个新的Xcode项目,这个项目将会创建一个静态的库文件,这个库文件的作用是给第三方库文件建立依赖,并且把他们链接到一个叫做libPods.a 的文件中。这个静态的库文件变成了你原始项目的一个依赖文件。xcworkspace文件生成,并且能够被正常地使用。这种方法能够使原始的xcodeproj文件保持不变。

沙盒中得文件不会和Podfile.lock保持同步,这是因为Manifest.lock

每次运行pod install命令,都会生成一份Podfile.lock文件的拷贝。如果你曾经遇到过沙盒没有和 Podfile.lock文件保持同步,这是因为沙盒中得Podfile.lock文件和Podfile.lock文件是不一样的。因为pods目录下的问津不总是受Podfile.lock文件的版本控制,这里有一种方法能够确保开发者在运行pods之前更新,否者app就会崩溃,或者报一种奇怪的编译错误。

参考文献

February 2014 Tech Talk: CocoaPods

UIKonf 2014 — Orta Therox: CocoaPods

MCE 2014: Orta Therox – CocoaPods and the road to 1.0

CocoaPods的一些理解的更多相关文章

  1. 对于CocoaPods的简单理解,实践安装使用过程和常见问题

    (本文是自己通过其他文章进行的自我编辑和简单修改,请大家凑活看看) 一.什么是CocoaPods CocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理.开发iOS项目不可避免地 ...

  2. 自己关于cocoapods的使用的一些理解和总结

    老大让我自己学习用一下cocoapods的使用,于是自己上网查了很多的信息,在安装使用过程中,总是出现了很多问题,然后发现有些人的教程好像并不完全好用,我的感觉是应该每个人遇到的问题都不尽相同,所以 ...

  3. [转]iOS系列译文:深入理解 CocoaPods

    Cocoapods是 OS X 和 iOS 下的一个第三方库管理工具.你能使用CocoaPods添加被称作“Pods”的依赖库,并轻松管理它们的版本,而不用考虑当前的时间和开发环境. Cocoapod ...

  4. cocoapods安装

    什么是cocoapods CocoaPods是一个用来帮助我们管理第三方依赖库的工具.它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我 ...

  5. iOS 开发:CoCoapods的使用和安装

    CocoaPods的使用和安装 一.什么是CocoaPods? 前言: 思考如何引入一个第三方框架. 例如: 百度地图SDK.友盟.ShareSDK. 信鸽推送等. 从github或某处下载第三方SD ...

  6. iOS中的CocoaPods用法及常用命令

     CocoaPods是什么? ***CocoaPods的使用场景:*** 1. 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用 ...

  7. 将自己写的库上传到cocoapods(2015)

    2015年以前上传到cocoapods的方式相较于现在比较麻烦,现在用不上在此也就不提了.现在上传到cocoapods只需要简单的几步即可. 1.首先你需要有一个自我感觉写的差不多的库. 2.注册tr ...

  8. 如何正确使用Cocoapods

    ➠更多技术干货请戳:听云博客 一.介绍Cocoapods Cocoapods是引入为项目引入新血液的接口,只有引入了新血液,功能才可以多样化,进而满足不同的消费群体.使用Cocoapods可以方便日后 ...

  9. 细聊 Cocoapods 与 Xcode 工程配置

    前言 文章比较长,所以在文章的开头我打算简单介绍一下这篇文章将要讲述的内容,读者可以选择通篇细度,也可以直接找到自己感兴趣的部分. 既然是谈 Cocoapods,那首先要搞明白它出现的背景.有经验的开 ...

随机推荐

  1. abstract修饰符,具体类与抽象类的区别

    abstract修饰符 abstract可以修饰类,表示一个抽象类,注意:抽象类和具体类唯一的区别:类不能创建对象,而具体类是可以创建对象的 1.具体类有构造方法,抽象类也有构造方法 2.具体类可以有 ...

  2. linux下登录出现-bash-3.2#解决办法

    1:下载 安装 csh yum  install csh   2:再切换即可  

  3. 解决iOS中tabBarItem图片默认颜色的问题(指定代码渲染模式为以原样模式的方式显示出来)

    解决iOS中tabBarItem图片默认颜色的问题(指定代码渲染模式为以原样模式的方式显示出来) 解决办法:指定图片的渲染模式(imageWithRenderingMode为:UIImageRende ...

  4. (原)ubuntu下使用ftp软件

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6121663.html 参考网址: http://tieba.baidu.com/p/387426074 ...

  5. Typecho中文验证码Captcha插件

    前言实在是受不了每天都要删除掉上百条的垃圾评论,干脆自己做了个验证码插件,顺带做的完善了些,分享给大家. 本插件是在评论验证码插件基础上完善而来.所不同的是,采用了最新的securimage 3.0. ...

  6. linux 下使用crontab+wget实现秒及定时任务

    输入命令 crontab -e 打开一个文件,默认的编辑器为vi. 输入vi编辑器,输入i为插入,输入w保存,q退出,!强制.wq!强制保存并退出. * * * * * /usr/bin/wget - ...

  7. 接私活,得有套好框架,.net快速开发神器

    同一家公司的同事,拿同样的工资,以前他在用肾机,我还在用诺记.吃饭的时候他是买单王,我在想这家伙应该没存什么钱吧.结果前段时间他买了个沃尔沃S60L,可我一套省城小三房的首付都还没凑齐. 他说他经常在 ...

  8. Java学习笔记--HashMap中使用object做key的问题【转】

    在HashMap中,如果需要使用多个属性组合作为key,可以将这几个属性组合成一个对象作为key.但是存在的问题是,要做get时,往往没办法保存当初put操作时的key object的referenc ...

  9. JavaWeb学习笔记--filter开发

    介绍自定义的Filter类必须实现Filter接口,并且实现Filter接口定义的init() doFilter() destory()方法.其中init为初始化,destory为销毁 doFilte ...

  10. iOS 9的 Universal Links 通用链接使用

    前段时间和朋友(@品味生活)一起搞 iOS9的通用链接,我主要做了前面官方文档翻译工作,后面的一些东西都是他在搞,整理也是他整理的. 他的博客原文地址:http://pinwei.blog.51cto ...