1

我已经在https://developer.apple.com/library/mac/documentation/cocoa/Conceptual/SpotlightCoreData/Articles/recordLevel.html上阅读了很多次教程,但由于某种原因我似乎无法理解.

我尝试创建聚光灯导入器,手动将其复制到~/Library/Spotlight没有成功。

谁能指出我的 CoreData-Spotlight-OSX 应用程序的工作示例?一个远程基本的东西就足够了。

xcode 模板 default-stores .importer 在 bundle-resources 文件夹中,我在其他地方读到如果应用程序被沙盒化,它应该位于 Library/Spotlight 文件夹中。

再次尝试并失败。

帮助!

4

1 回答 1

2

我写了一个 CoreData / Spotlight 导入器。即使在最好的时候,它总是有点挣扎。我在那些文档之前写了我的,在他们为你写出记录的守护进程之前。当 CoreData 团队第一次完成我的解决方案版本时,他们有几个严重的错误,使我无法使用它,所以我报告了它们并切换回我的——我希望现在它们已经修复,但这是需要注意的事情。

要知道的另一件事是,许多应用程序制造商(包括我)发现 Spotlight 导入 CoreData 记录在 Mavericks 上被破坏,显然是因为沙盒的变化。这已被广泛报道,我已经提交了一个错误。如果你在小牛队,你可能也会遇到这个问题。

但是,要调试:

您应该做的第一件事是向您的导入器添加一些 NSLogging,并在对数据库进行更改后检查您的控制台。等着看是否有任何以“md”(元数据)开头的进程报告错误,或者你是否看到你写的日志。

此外,man mdimport使用其中一个记录文件从插件上的命令行执行并运行 mdimport。使用 mdimport 的 -g 选项,您可以在任何地方测试导入器,使用 -d4,您将获得大量调试信息。

您还可以mdimport -L查看系统是否正在查看您的导入程序。

一般来说,您需要找出 ⑴ 您的导入程序是否正常工作或它只是崩溃(通过直接使用 mdimporter 运行它) ⑵ 系统是否看到您的导入程序并识别它负责您选择的文件类型的存根(mdimport -L) ⑶ 您的进口商是否有权查看记录文件(通过运行您的应用程序并查看控制台)。

于 2014-01-27T21:59:16.493 回答