1

现在我有一个生成 XML 文件的应用程序。我们将其命名为 someFile.myapp 当我的应用程序保存文件并使用 mdls 查看它时,它的 kMDItemContentType 为“dyn.234kdfsjk23jk24234kjfd” 我如何才能将文件的 UTI 类型设为自定义值,例如 com.mycompany。我的应用程序?

4

3 回答 3

3

UTI 通过应用程序Info.plist文件中的声明链接到扩展。像这样添加一个部分:

<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.xml</string>
        </array>
        <key>UTTypeDescription</key>
        <string>My Special File Type</string>
        <key>UTTypeIdentifier</key>
        <string>org.myapp.someutiidentifier</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <array>
                <string>myapp</string>
            </array>
        </dict>
    </dict>
</array>
于 2010-06-04T22:35:40.047 回答
1

为您的文件设计一个独特的扩展名,并使用导出的 UTI 声明将扩展名与您的 UTI 相关联。

于 2010-06-04T22:30:42.763 回答
1

文件通过启动服务映射到 UTI,理论上可以使用有关文件的许多不同类型的信息来识别其类型,但实际上会忽略文件扩展名以外的所有内容。因此,如果您希望您的文件类型是可识别的,您需要提供一个唯一的扩展名并将其映射到应用程序的 Info.plist 中的相关类型。如果您的文件需要共享已被另一个应用程序声明的扩展名,那么您就是 SOL。

就我所见——而且我作为 Mac 的长期粉丝这么说——这是 Mac OS X 的一个方面,它真的很容易说:“欢迎来到 1985 年!”

于 2010-06-04T23:08:53.697 回答