创建没有NSDocument的自定义捆绑包

时间:2013-11-01 06:54:11

标签: macos cocoa bundle nsdocument

我正在尝试将bundle文档类型实现到我的应用程序中。然而,经过一些研究后,似乎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。 How do I flag a folder as being a package?

0 个答案:

没有答案