现在我有一个生成XML文件的应用程序。我们将其称为someFile.myapp 当我的应用程序保存文件并使用mdls查看它时,它的kMDItemContentType为“dyn.234kdfsjk23jk24234kjfd” 如何将文件的UTI类型获得为像com一样的自定义值。 mycompany.myapp?如何制作标识为自定义UTI类型的文件?
1
A
回答
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
为您的文件创建唯一的扩展名,并使用导出的UTI声明将扩展名与您的UTI相关联。
1
文件由发射服务,这是理论上能够使用许多不同种类的信息有关的文件,以确定其类型,但在实践中会忽略比其他一切映射到尿路感染文件扩展名。因此,如果您希望文件的类型可识别,则需要提供一个唯一的扩展名并将其映射到应用的Info.plist中的相关类型。如果您的文件需要共享已被其他应用程序声明的扩展程序,那么您就是SOL。
就我所见 - 我把它说成是一个长期的Mac粉丝 - 这是Mac OS X的一个方面,它很容易说:“欢迎来到1985年!”
相关问题
- 1. 如何为OSX注册自定义非文档UTI /文件类型以识别它?
- 2. 防止在iPad上预览自定义UTI文件类型
- 3. Finder无法识别自定义UTI
- 4. iOS7自定义UTI
- 5. 什么是Automator工作流的统一类型标识符(UTI)?
- 6. 如何制作像这种类型的自定义标签?
- 7. 自定义文件类型和图标
- 8. 如何为我的自定义类型制作模板?
- 9. 自定义sqlite UTI不工作
- 10. 什么是iOS上的SQLite文件的统一类型标识符(UTI)?
- 11. 检查NSURL的UTI /文件类型
- 12. 如何让插件导入UTI类型
- 13. 如何为JBoss Portal实现自定义标识模型?
- 14. 如何将图标分配给android自定义文件类型?
- 15. 如何将图标分配给自定义文件类型?
- 16. 将UTI分配给文件类型
- 17. 如何标记标记函数的返回类型为自定义类型
- 18. 如何使用自定义类作为Iterator的类型变量?
- 19. 如何使用自定义类型作为nusoap中另一个自定义类型的数据类型
- 20. 鉴于UTI(统一类型标识符),找到它符合的所有类型
- 21. 如何使用UTI创建新的文件类型?
- 22. 如何制作自定义fontawsome图标?
- 23. 如何在mac osx中为文件类型设置自定义图标
- 24. 如何从自定义文章类型
- 25. PHP文件的自定义MIME类型
- 26. 如何从文件夹中创建自定义文件类型?
- 27. 如何在iOS中支持/分配所有文件类型(UTI)?
- 28. 映射中的自定义标识类型
- 29. 如何识别监听器中的属性自定义类型?
- 30. 如何唯一标识D中的用户定义类型?
我有一段时间让我的自定义文件类型与文件一起保存在我的基于文档的应用程序中。 UTTypeConformsTo是关键。 5个小时后,我仍然不知道“public.xml”来自哪里,因为我无法在任何地方找到它,但我很高兴它可以工作。我是唯一一个认为苹果UTI [适当命名](http://en.wikipedia.org/wiki/Urinary_tract_infection)的人? – alexantd 2011-10-28 19:58:20
是的,它没有很好的记录;你必须在这里和那里抓定义,尽管'public.xml'是一个着名的定义。 规范性引用(如阅读源码,Luke)是'/ System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist'。 – Avi 2011-12-12 21:03:21