CocoaPods-1. 概况介绍

作者: Mccc_ | 来源:发表于2018-11-16 13:42 被阅读3次

引用至简书作者‘评评分分的博客’

什么是CocoaPods?
CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。利用 CocoaPods,可以定义自己的依赖关系 (称作pods),并且随着时间的变化,以及在整个开发环境中对第三方库的版本管理非常方便。
CocoaPods 背后的理念主要体现在两个方面。首先,在工程中引入第三方代码会涉及到许多内容。针对 Objective-C 初级开发者来说,工程文件的配置会让人很沮丧。在配置 build phases 和 linker flags 过程中,会引起许多人为因素的错误。CocoaPods 简化了这一切,它能够自动配置编译选项。
其次,通过 CocoaPods,可以很方便的查找到新的第三方库。当然,这并不是说你可以简单的将别人提供的库拿来拼凑成一个应用程序。它的真正作用是让你能够找到真正好用的库,以此来缩短我们的开发周期和提升软件的质量。

CocoaPods的核心组件
CocoaPods是用 Ruby 写的,并由若干个 Ruby 包 (gems) 构成的。在解析整合过程中,最重要的几个 gems 分别是:CocoaPods/CocoaPods,CocoaPods/Core, 和CocoaPods/Xcodeproj(是的,CocoaPods 是一个依赖管理工具 -- 利用依赖管理进行构建的!)。
编者注CocoaPods 是一个 objc 的依赖管理工具,而其本身是利用 ruby 的依赖管理 gem 进行构建的。

  • CocoaPods/CocoaPod
    这是是一个面向用户的组件,每当执行一个pod命令时,这个组件都将被激活。该组件包括了所有使用 CocoaPods 涉及到的功能,并且还能通过调用所有其它的 gems 来执行任务。
  • CocoaPods/Core
    Core 组件提供支持与 CocoaPods 相关文件的处理,文件主要是 Podfile 和 podspecs。
  • Podfile
    Podfile 是一个文件,用于定义项目所需要使用的第三方库。该文件支持高度定制,你可以根据个人喜好对其做出定制。更多相关信息,请查阅Podfile 指南
  • CocoaPods/Xcodeproj
    这个 gem 组件负责所有工程文件的整合。它能够对创建并修改.xcodeproj和.xcworkspace文件。它也可以作为单独的一个 gem 包使用。如果你想要写一个脚本来方便的修改工程文件,那么可以使用这个 gem。
  • Podfile.lock
    这是 CocoaPods 创建的最重要的文件之一。它记录了需要被安装的 pod 的每个已安装的版本。如果你想知道已安装的 pod 是哪个版本,可以查看这个文件。推荐将 Podfile.lock 文件加入到版本控制中,这有助于整个团队的一致性。
  • Manifest.lock
    这是每次运行pod install命令时创建的Podfile.lock文件的副本。如果你遇见过这样的错误沙盒文件与 Podfile.lock 文件不同步 (The sandbox is not in sync with the Podfile.lock),这是因为 Manifest.lock 文件和Podfile.lock文件不一致所引起。由于Pods所在的目录并不总在版本控制之下,这样可以保证开发者运行 app 之前都能更新他们的 pods,否则 app 可能会 crash,或者在一些不太明显的地方编译失败。
  • xcproj
    如果你已经依照我们的建议在系统上安装了xcproj,它会对Pods.xcodeproj文件执行一下touch以将其转换成为旧的 ASCII plist 格式的文件。为什么要这么做呢?虽然在很久以前就不被其它软件支持了,但是 Xcode 仍然依赖于这种格式。如果没有 xcproj,你的Pods.xcodeproj文件将会以 XML 格式的 plist 文件存储,当你用 Xcode 打开它时,它会被改写,并造成大量的文件改动。
  • Podspec
    .podspec也是一个文件,该文件描述了一个库是怎样被添加到工程中的。它支持的功能有:列出源文件、framework、编译选项和某个库所需要的依赖等。

链接

相关文章

  • CocoaPods-1. 概况介绍

    引用至简书作者‘评评分分的博客’ 什么是CocoaPods?CocoaPods 是开发 OS X 和 iOS 应用...

  • uipath概况介绍

    机器人类型 1.有人值守(前台)机器人 - 与人类用户在同一工作站上工作,通常由用户通过他们的操作(用户事...

  • NPDP概况介绍

    NPDP是什么 New Product Development Professional美国产品开发与管理协会(P...

  • 视频编码技术概况(编码篇)

    回顾 上面已经介绍了压缩视频存储的三大核心方法本节将介绍视频编码技术的概况 编码概况 让我们看看编码框架的概况,下...

  • 环球捕手【捕手概况介绍】

    环球捕手简介 环球捕手:是一家生活类综合电商平台,打造个性化的电商美食和质优价廉的生活日用品,进入每家每户,让消费...

  • AFNetworking-RequestSerializer

    概况介绍: 这篇主要介绍AFNetworking中请求参数序列化的部分,具体代码在AFURLRequestSeri...

  • 蝎子生活习性和概况介绍

    大家好,今天我们来说一下蝎子的生活习性,蝎子这种动物呢?喜欢群居,他们喜欢安静不动,不太喜欢好动,蝎子具有识窝和认...

  • AFNetworking详细解析之概况介绍

    AFNetworking最新版本包含以下几部分: 第一部分:AFSecurityPolicy.m AFN提供的三种...

  • 『落花笙3』

    前两章介绍了虹桥镇概况,北笙,白曦,和女主落花的概况,接下来差不多是正文了 , 『落花笙』三 ...

  • 20190306期「日月光刻意练习」复盘总结

    一、本次活动概况 1.活动流程 19:15-19:20 开场介绍 开场人:Jacky / 小白 介绍内容:活动流程...

网友评论

    本文标题:CocoaPods-1. 概况介绍

    本文链接:https://www.haomeiwen.com/subject/ledqxqtx.html