zoukankan      html  css  js  c++  java
  • CocoaPods的一些理解

    在这片博客中,我将分享我从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

  • 相关阅读:
    Maven ==> 简介
    IDEA结合GIT的使用
    Shell ==> 基础
    Dubbo ==> 简介
    iptables防火墙
    文件系统对比
    supervisord部署
    inotify+rsync安装配置
    前端插件网址
    Nginx高级玩法
  • 原文地址:https://www.cnblogs.com/gatsbywang/p/4220133.html
Copyright © 2011-2022 走看看