<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Bundle</id>
	<title>Bundle - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Bundle"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Bundle&amp;action=history"/>
	<updated>2026-07-03T10:03:23Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Bundle&amp;diff=721108&amp;oldid=prev</id>
		<title>imported&gt;Iokseng 来自 2023年11月16日 (四) 07:38</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Bundle&amp;diff=721108&amp;oldid=prev"/>
		<updated>2023-11-16T07:38:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{TA&lt;br /&gt;
|G1=IT&lt;br /&gt;
}}&lt;br /&gt;
{{Infobox file format&lt;br /&gt;
| name                   = Bundle&lt;br /&gt;
| icon                   = &lt;br /&gt;
| iconcaption            = &lt;br /&gt;
| screenshot             = &lt;br /&gt;
| caption                = &lt;br /&gt;
| extension              = .app, .framework, .kext, .plugin, .docset, .xpc, .qlgenerator, .component, .saver, .mdimporter, etc.&lt;br /&gt;
| mime                   = &lt;br /&gt;
| magic                  = &lt;br /&gt;
| released               = &amp;lt;!-- {{Start date and age|YYYY|mm|dd|df=yes/no}} --&amp;gt;&lt;br /&gt;
| standard               = &lt;br /&gt;
| free                   = &lt;br /&gt;
| url                    = &lt;br /&gt;
| logo                   = &lt;br /&gt;
| type code              = &lt;br /&gt;
| uniform type           = com.apple.bundle&lt;br /&gt;
| conforms to            = &lt;br /&gt;
| owner                  = &lt;br /&gt;
| latest release version = &lt;br /&gt;
| latest release date    = &amp;lt;!-- {{Start date and age|YYYY|mm|dd|df=yes/no}} --&amp;gt;&lt;br /&gt;
| genre                  =&lt;br /&gt;
| container for          = [[執行檔]]、[[元資料]]、其他的捆绑、任何其他在執行程式時需要的檔案。&lt;br /&gt;
| contained by           = &lt;br /&gt;
| extended from          = &lt;br /&gt;
| extended to            = &lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Bundle&amp;#039;&amp;#039;&amp;#039;是[[NeXTSTEP]]、[[macOS]]、[[iOS]]、[[GNUstep]]等操作系统中使用的资源组织形式。它通过一种固定了文件名和文件结构的目录形式，将相关资源组合在一起，使这些资源可以像一个独立文件一样来访问和操作。一个Bundle通常包含一个可执行代码文件和一些资源文件，例如[[Interface Builder|NIB文件]]，图像，声音，[[本地化]]字符串，配置文件（通常是[[属性列表文件]]）和其它媒体等。&lt;br /&gt;
&lt;br /&gt;
在其他操作系统中，例如Windows，这类资源通常在编译时就被直接包含在了可执行文件中，或者需要与可执行文件一样保存到专门的文件夹中，增加了文件意外更改或丢失的风险，而Bundle使用文件夹来简化组织资源，使用户可以像使用普通文件一样使用Bundle，避免了这种复杂性。&lt;br /&gt;
&lt;br /&gt;
在[[Mac OS 9]]中，该特性被称为“包”（package），而[[Mac OS X]]从[[NeXTSTEP]]中引入了Bundle的概念，用于取代该技术。在NeXTSTEP以及后续的Mac OS X等操作系统中，[[应用程序]]、[[应用框架]]和[[插件]]通常以Bundle的形式将其内部文件组织在一起。在[[NeXT]]的Foundation工具包和[[Cocoa]]的Foundation框架中，可以使用&amp;lt;tt&amp;gt;NSBundle&amp;lt;/tt&amp;gt;类操作Bundle；在{{link-en|Core Foundation|Core Foundation}}中，则使用&amp;lt;tt&amp;gt;CFBundle&amp;lt;/tt&amp;gt;系列函数进行操作。&lt;br /&gt;
&lt;br /&gt;
Bundle的[[统一类型标识符]]是&amp;lt;tt&amp;gt;com.apple.bundle&amp;lt;/tt&amp;gt;，而包的则是&amp;lt;tt&amp;gt;com.apple.package&amp;lt;/tt&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
==Mac OS X中的应用程序Bundle==&lt;br /&gt;
&lt;br /&gt;
应用程序Bundle通常为[[软件包]]，以单一文件的形式出现在用户面前。这个“文件”实际上是一个以&amp;lt;tt&amp;gt;.app&amp;lt;/tt&amp;gt;为扩展名的文件夹。[[辅助点按]]这个包，然后选择“显示包内容”，即可以文件夹的形式打开该Bundle并查看、修改其内容。对于应用程序，Bundle中的唯一一个一级子目录通常是&amp;lt;tt&amp;gt;Contents&amp;lt;/tt&amp;gt;。在&amp;lt;tt&amp;gt;Contents&amp;lt;/tt&amp;gt;中，通常有另外一些目录，包括可执行文件目录（在Mac中为&amp;lt;tt&amp;gt;MacOS&amp;lt;/tt&amp;gt;，GNUStep中则为应用程序的名字），资源目录（&amp;lt;tt&amp;gt;Resources&amp;lt;/tt&amp;gt;）等。资源目录中通常包含了程序所需的本地化资源，包括字符串文件（&amp;lt;tt&amp;gt;.strings&amp;lt;/tt&amp;gt;文件），[[Interface Builder|nib文件]]等等。&lt;br /&gt;
&lt;br /&gt;
其它常见的子目录包括&amp;lt;tt&amp;gt;Plugins&amp;lt;/tt&amp;gt;，&amp;lt;tt&amp;gt;Frameworks&amp;lt;/tt&amp;gt;和&amp;lt;tt&amp;gt;Shared Frameworks&amp;lt;/tt&amp;gt;。&amp;lt;tt&amp;gt;Frameworks&amp;lt;/tt&amp;gt;包括了该程序使用的框架，程序运行时会首先查找此处的框架而不是优先使用系统提供的，可以在一定程度上避免类似[[DLL地狱]]的情况发生。&amp;lt;tt&amp;gt;Shared Frameworks&amp;lt;/tt&amp;gt;目录包含了可以由本程序和其它程序使用的框架，同时，与&amp;lt;tt&amp;gt;Frameworks&amp;lt;/tt&amp;gt;不同，只会在无法在系统中找到更新的版本时使用。&amp;lt;tt&amp;gt;Plugins&amp;lt;/tt&amp;gt;目录则包含了程序使用的插件。&lt;br /&gt;
&lt;br /&gt;
==Mac OS X中的Frameworks==&lt;br /&gt;
Mac OS X中的Frameworks（框架）也以Bundle的形式储存。框架中的[[动态库]]代码储存在与框架同名的文件中，放置于顶层目录中；顶层目录中也可能包含&amp;lt;tt&amp;gt;Headers&amp;lt;/tt&amp;gt;，储存了该框架提供的[[头文件]]。&lt;br /&gt;
&lt;br /&gt;
==Mac OS X中的可载入Bundle==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;可载入的Bundle&amp;#039;&amp;#039;&amp;#039;即包含可以在运行时载入的代码的Bundle&amp;lt;ref&amp;gt;[http://developer.apple.com/documentation/Cocoa/Conceptual/LoadingCode/Concepts/AboutLoadableBundles.html Code Loading Programming Topics for Cocoa: About Loadable Bundles&amp;lt;!-- Bot generated title --&amp;gt;] {{webarchive|url=https://web.archive.org/web/20080905204925/http://developer.apple.com/documentation/Cocoa/Conceptual/LoadingCode/Concepts/AboutLoadableBundles.html |date=2008-09-05 }}&amp;lt;/ref&amp;gt;，其扩展名通常为&amp;lt;tt&amp;gt;.bundle&amp;lt;/tt&amp;gt;，常常被用作[[插件]]。&lt;br /&gt;
&lt;br /&gt;
==Bundle的其它形式==&lt;br /&gt;
其它Bundle包括包含图形的，以&amp;lt;tt&amp;gt;.rtfd&amp;lt;/tt&amp;gt;为扩展名的[[RTF]]文件，[[Safari]]的下载未完成的文件等。[[GarageBand]]，[[Keynote]]，[[Pages]]，[[Numbers]]，[[iMovie]]和[[Xcode]]等程序的部分版本中，项目文件亦存储为Bundle。在[[iWork|iWork &amp;#039;09]]版中，其文件为一压缩的Bundle，可以将其解压后查看内部结构&amp;lt;ref&amp;gt;{{Cite web |url=http://www.macosxhints.com/article.php?story=20090225034801527 |title=Open iWork&amp;#039; 09 flat files as folders |access-date=2010-10-15 |archive-date=2009-02-27 |archive-url=https://web.archive.org/web/20090227162232/http://www.macosxhints.com/article.php?story=20090225034801527 |dead-url=no }}&amp;lt;/ref&amp;gt;；另外，[[Microsoft Office]] 2007引入的新文件格式也采用了类似的技术。&lt;br /&gt;
&lt;br /&gt;
苹果安装器包（&amp;lt;tt&amp;gt;.pkg&amp;lt;/tt&amp;gt;）是包含&amp;lt;tt&amp;gt;{{link-en|pax|pax (command)}}&amp;lt;/tt&amp;gt;归档文件的Bundle，参见[[Installer (Mac OS X)]]。&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
==参见==&lt;br /&gt;
* {{link-en|应用程序目录|Application directory}} — [[RISC OS]]中与Bundle类似的应用程序形式&lt;br /&gt;
* [[klik]] — 一个使用类似原理的Linux程序&lt;br /&gt;
&lt;br /&gt;
==外部链接==&lt;br /&gt;
* [http://developer.apple.com/mac/library/documentation/CoreFoundation/Conceptual/CFBundles/Introduction/Introduction.html Bundle Programming Guide] {{Wayback|url=http://developer.apple.com/mac/library/documentation/CoreFoundation/Conceptual/CFBundles/Introduction/Introduction.html |date=20100830055616 }} at Apple Developer Connection&lt;br /&gt;
* [http://www.gnustep.org/resources/documentation/Developer/Base/Reference/NSBundle.html NSBundle documentation] {{Wayback|url=http://www.gnustep.org/resources/documentation/Developer/Base/Reference/NSBundle.html |date=20201104173808 }} from the GNUstep project&lt;br /&gt;
* [http://www.sveinbjorn.org/platypus Platypus] {{Wayback|url=http://www.sveinbjorn.org/platypus |date=20210317092953 }} — a tool to create application bundles around scripts&lt;br /&gt;
* [http://www.bgdna.com/ Tech News] {{Wayback|url=http://www.bgdna.com/ |date=20201126113852 }} — new technology news information with reviews&lt;br /&gt;
&lt;br /&gt;
[[Category:MacOS]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Iokseng</name></author>
	</entry>
</feed>