现在我有一个生成XML文件的应用程序。我们称之为someFile.myapp 当我的应用程序保存文件并使用mdls查看它时,它的kMDItemContentType为“dyn.234kdfsjk23jk24234kjfd” 如何将文件的UTI类型设置为com.mycompany.myapp等自定义值?
答案 0 :(得分: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>
答案 1 :(得分:1)
为您的文件设想一个唯一的扩展,并使用导出的UTI声明将扩展名与您的UTI相关联。
答案 2 :(得分:1)
启动服务将文件映射到UTI,理论上可以使用有关该文件的许多不同类型的信息来识别其类型,但实际上将忽略文件扩展名以外的所有内容。因此,如果您希望文件的类型可识别,则需要提供一个唯一的扩展名并将其映射到应用程序的Info.plist中的相关类型。如果您的文件需要共享已被其他应用声明的扩展程序,那么您就是SOL。
据我所知 - 我说这是Mac的长期粉丝 - 这是Mac OS X的一个方面,它很容易说:“欢迎来到1985年!”