0

我正在从 Java 应用程序编写特定于应用程序的文档。这些文件基本上是一个目录中相关文件/数据库的集合。在 OS XI 上,希望这个目录看起来不透明,就好像它是一个文档文件一样,类似于 RTFD 隐藏一个 RTF 文本文件以及相关资源(例如粘贴的图形)。我理解这个概念叫做package

例如,想象一下这个结构:

MyDocument.ext/
   MetaData.xml
   Database/
     Db0
     Db1

等等。我希望它作为一个文档出现在 Finder 中MyDocument,而不是一个目录。

我将能够为我的 Java 应用程序生成一个应用程序包,这样它就可以在其 Info.plist 中包含一个文档描述符。

我如何告诉 OS X 以这种方式处理我的文档(目录)?通过 Info.plist,还是我需要执行一些特定的终端程序?

4

1 回答 1

0

这个文档之后,实际上只需要应用程序的 plist 中的一个条目:在文档类型条目中,键LSTypeIsPackage必须包含在 value 中"true"

<key>CFBundleDocumentTypes</key>
<array>
  <dict>
    <key>CFBundleTypeRole</key>
    <string>Editor</string>
    <key>CFBundleTypeName</key>
    <string>Foobar Document</string>
    <key>CFBundleTypeExtensions</key>
    <array>
      <string>foobar</string>
    </array>
    <key>LSTypeIsPackage</key>
    <string>true</string>       <!-- !!! -->
    <key>CFBundleTypeIconFile</key>
    <string>foobar.icns</string>
  </dict>
</array>

我必须将应用程序复制到/ApplicationsFinder 才能识别我的新文件类型,但随后它起作用了,并且以 结尾的目录.foobar显示为不透明文件。

于 2013-03-30T05:03:25.840 回答