Bundle
维基百科,自由的 encyclopedia
Bundle是NeXTSTEP、macOS、iOS、GNUstep等操作系统中使用的资源组织形式。它通过一种固定了文件名和文件结构的目录形式,将相关资源组合在一起,使这些资源可以像一个独立文件一样来访问和操作。一个Bundle通常包含一个可执行代码文件和一些资源文件,例如NIB文件,图像,声音,本地化字符串,配置文件(通常是属性列表文件)和其它媒体等。
Quick Facts 扩展名, 统一类型标识 ...
扩展名 |
.app, .framework, .kext, .plugin, .docset, .xpc, .qlgenerator, .component, .saver, .mdimporter, etc. |
---|---|
统一类型标识 | com.apple.bundle |
作为容器 | 可执行文件、元数据、其他的捆绑、任何其他在执行程序时需要的文件。 |
Close
在其他操作系统中,例如Windows,这类资源通常在编译时就被直接包含在了可执行文件中,或者需要与可执行文件一样保存到专门的文件夹中,增加了文件意外更改或丢失的风险,而Bundle使用文件夹来简化组织资源,使用户可以像使用普通文件一样使用Bundle,避免了这种复杂性。
在Mac OS 9中,该特性被称为“包”(package),而Mac OS X从NeXTSTEP中引入了Bundle的概念,用于取代该技术。在NeXTSTEP以及后续的Mac OS X等操作系统中,应用程式、应用框架和插件通常以Bundle的形式将其内部文件组织在一起。在NeXT的Foundation工具包和Cocoa的Foundation框架中,可以使用NSBundle类操作Bundle;在Core Foundation(英语:Core Foundation)中,则使用CFBundle系列函数进行操作。
Bundle的统一类型标识符是com.apple.bundle,而包的则是com.apple.package。