1

我正在尝试在我的应用程序中实现捆绑文档类型。但是,经过一番研究,似乎 NSDocument 不适合我正在尝试做的事情。本质上,我希望能够读写包并以模块化的方式使用它们。我认为我不能使用 NSDocument 的原因是它似乎想为每个打开的包创建一个窗口,这是不可能的,因为我可能有十几个。

我尝试手动执行此操作,但除了 Apple Docs 中的几句话外,我找不到任何文档,这些句子说要使用 NSFileManager 创建一个文件夹。当我创建一个带有扩展名的文件夹时,例如“.xyz”,什么也没有发生。我阅读了有关统一类型标识符的信息,但似乎找不到如何设置文件/文件夹 UTI。这是我的 Info.plist 中的文档定义:

<array>
    <dict>
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>xyz</string>
        </array>
        <key>CFBundleTypeIconFile</key>
        <string>icon_128x128.png</string>
        <key>CFBundleTypeName</key>
        <string>Test Bundle</string>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.test.xyz</string>
        </array>
        <key>LSTypeIsPackage</key>
        <integer>1</integer>
    </dict>
</array>

我找到了一种通过设置捆绑位将文件夹设置为捆绑的方法,但它似乎相当hacky。如何将文件夹标记为包?

4

0 回答 0