2010-11-09 36 views
1

我正在为OS X 10.6开发非基于文档的核心数据应用程序。当“创建基于文档的应用程序”为而不是,并且“使用核心数据进行存储”和“包含Spotlight导入程序”时,它基于由XCode 3.2.4生成的模板。如何停止显示外部记录文件路径的OS X Core Data Spotlight帮助标签?

我的聚光灯导入器将kMDItemDisplayName设置为主数据库表的行的摘要。没有设置其他kMDItem属性。没有元数据仅从外部记录文件从持久性存储中导入。

一切正常,但有一个例外:

当我将鼠标悬停我的鼠标放在聚光灯结果发现,黄色的帮助标签显示的路径,为相应的数据库记录中的外部记录文件。对于普通用户来说,这看起来很乱,即
/Users/username/Library/Caches/Metadata/CoreData/appname/uuid/entity/x/y。

有什么办法可以阻止这种情况发生?理想情况下,我希望帮助标记引用我的应用程序名称。

我试着设置了几个其他的kMDItem属性,但它们似乎没有改变显示的帮助标签。

回答

1

您是否尝试过设置导入程序schema.xml文件的<displayattrs>元素?如果这不起作用,请提交bug

+0

XCode 3.2.4为具有Spotlight导入器项目的Cocoa Core Data应用程序生成的代码不包含schema.xml文件。该文件仅在Spotlight插件项目中生成。 我尝试添加一个schema.xml文件到我的进口商的包,它似乎没有任何效果。例如,我指定 kMDItemTextContent,但Spotlight搜索结果仍显示kMDItemDisplayName(带有不需要的路径)。 – MyCatsNameIsBernie 2010-11-10 00:34:09

+0

好吧,可能会有一个bug ...但是'kMDItemTextContent'不是一个可以从Spotlight中取回的属性,所以我不会指望它能在任何情况下工作。请使用上面提供的bugreport链接正式向Apple报告。 – 2010-11-10 05:36:22

+0

我提交了一个错误报告。我认为问题的根本原因是CoreData生成的外部记录文件作为“文档”导入到Spotlight中,并且Spotlight显示所有文档的帮助标签中的文件路径。我想知道是否有一种方法来导入元数据作为除了Document之外的对象类型?我没有看到任何明显的kMDItem标签可以做到这一点。 – MyCatsNameIsBernie 2010-11-10 19:19:15