“文档作为一个包分发”是什么意思?

时间:2016-07-20 06:32:16

标签: xcode macos cocoa info.plist document-based

我使用Xcode 7.3.1创建基于Cocoa文档的应用程序。我注意到在文档类型信息面板中有一个我不明白的选项。它说“文档作为一个包分发”,它看起来像这样。

Bundle Option Screenshot from Xcode

我发现此选项控制应用的Info.plist文件中LSTypeIsPackage的{​​{1}}键。我在Apple的官方文档中只能找到关于此密钥使用的两个解释。在相对较大的表格中,两者都是非常简短的条目。

App Creation Process Overview的第一个解释。它非常简短,并没有提供比上面截图更多的信息。

  

一个布尔值,指定文档是否作为包分发。如果否,则省略该值。

第二种解释更有帮助。它来自Mac Developer Library的Information Property List Core Foundation Keys Reference

  

指定文档是否作为包分发。如果设置为true,则将bundle目录视为文件。 (在OS X v10.4及更高版本中,如果存在LSItemContentTypes键,则忽略此键。)

这几乎听起来好像这个选项会影响操作系统处理应用程序包本身的方式。如果是这种情况,那么我真的不知道如何制作这些描述。

我知道许多文档类型(例如CFBundleDocumentTypes文档)实际上是目录。此设置是否控制文档是否为目录?

1 个答案:

答案 0 :(得分:3)

bundle似乎是一个专门的目录结构,它包含特定的文件(如Info.plist)。

Document Package就是这样一个包。

因此

  

此设置是否控制文档是否为目录?

是;但是你不会把它称为目录;这是一个捆绑。