如何在Mac OS X上设置保存文档的kMDItemKind?

问题描述:

我有一个传统的应用程序(最低限度从Mac系统7移植到碳到可可),其中用户报告说,应用程序保存的文本文件的kMDItemKind元数据报告我的mdls似乎设置为“Microsoft Excel 97- 2004年工作手册“。传统文件的创建者和类型应该被设置为'cBaS'和'TEXT'(正如在古代那样在Apple注册的),传统的文件扩展名是“.bas”。如何在Mac OS X上设置保存文档的kMDItemKind?

什么设置在Mac OS X下保存文件的kMDItemKind元数据?

如何在保存这些文本文件时确保kMDItemKind设置正确,以便我的应用程序能够打开它们?

您不能直接设置文件的kMDItemKind。它来源于其他元数据。文件类型代码'TEXT'是非常通用的。创建者代码现在被忽略。文件扩展名可能是系统所依赖的。

不幸的是,在你的情况下,你有多个处理.bas文件的应用程序。系统挑选哪些内容有些随意,可能会发生变化。启动服务正在分配实际使用的类型,以及该应用程序如何定义与文件扩展名匹配的文档类型或UTI。

通常,您应该将具有特定应用程序的文件关联留给用户。如果他们想改变它,他们可以通过Finder的文件菜单或上下文菜单中的Always Open With进行操作,这时按住Option键即可。或者他们可以使用“获取信息”菜单。

你最好的选择将切换到使用更可能将要唯一的文件扩展名

+0

唉,看来有成千上万的现有用户与15+几年的旧文件和文档使用当前文件扩展名存在。看起来他们可能不得不忍受文件类型混淆,即使我尝试更新应用程序... – hotpaw2 2012-04-10 04:13:07

+0

* C'est la vie *。从系统7到Mac OS X 10.7有一条渐进的道路,但20年来被忽视的软件进化倾向于产生不兼容性。 – 2012-04-19 20:45:31