“文档作为捆绑分发”是啥意思?
Posted
技术标签:
【中文标题】“文档作为捆绑分发”是啥意思?【英文标题】:What does "Document is distributed as a bundle" mean?“文档作为捆绑分发”是什么意思? 【发布时间】:2016-07-20 06:32:16 【问题描述】:我正在使用 Xcode 7.3.1 创建一个基于 Cocoa 文档的应用程序。我注意到在文档类型信息面板中有一个我不理解的选项。它说“文档作为捆绑分发”,看起来像这样。
我发现此选项控制应用程序 Info.plist 文件中 CFBundleDocumentTypes
的 LSTypeIsPackage
键。在 Apple 的官方文档中,我只能找到两个关于此密钥用法的解释。两者都是相对较大的表格中非常简短的条目。
第一个解释来自App Creation Process Overview。它非常简短,没有提供比上面的屏幕截图更多的信息。
一个布尔值,指定文档是否作为捆绑分发。如果否,则省略此值。
第二个解释更有帮助。它来自 Mac 开发者库的Information Property List Core Foundation Keys Reference。
指定文档是否作为包分发。如果设置为 true,则捆绑目录被视为文件。 (在 OS X v10.4 及更高版本中,如果存在 LSItemContentTypes 键,则忽略此键。)
听起来好像此选项会影响操作系统处理应用程序包本身的方式。如果是这样的话,我真的不知道如何理解这些描述。
我知道许多文档类型(例如.xcodeproj
文档)实际上是目录。此设置是否控制文档是否为目录?
【问题讨论】:
【参考方案1】:如您所见,bundle 是一种专门的目录结构,其中包含特定文件(如Info.plist
)。
Document Package 就是这样一个捆绑包。
因此
此设置是否控制文档是否为目录?
是的;但是您不会将其称为目录;这是一个捆绑包。
【讨论】:
您无可否认是正确的,但为什么不将其视为目录? @WilliamRosenbloom 因为它不仅仅是一个目录。例如,Finder 会以不同的方式处理它。以上是关于“文档作为捆绑分发”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章