【问题标题】:Spotlight Importer in Xcode 6. Up to date documentation?Xcode 6 中的 Spotlight Importer。最新的文档?
【发布时间】:2015-04-09 08:17:44
【问题描述】:
我需要为 Xcode 6 上的自定义数据类型开发 Spotlight 导入器
在线的苹果文档似乎很全面,还有一个很好的示例项目here。唯一的问题是,当我在 Xcode 6 中创建一个新的 Spotlight Importer 项目时,该模板与官方文档中描述的完全不同。例如,没有 schema.xml 文件,有不同且晦涩的术语,如 store file uti、external record uti 等。 p>
看起来苹果文档已经严重过时了。有人可以提供一些帮助吗?某个第三方教程或示例项目的链接?
【问题讨论】:
标签:
plugins
xcode6
spotlight
【解决方案1】:
文档并没有真正过时。只是 Xcode 6 中的模板假定您的应用程序使用 Core Data。您可以在 Core Data Spotlight 集成编程指南中找到详细信息。
但是,您可以很容易地调整从 Spotlight 导入器模板创建的项目,以便您创建一个普通 导入器。我最近这样做是为了编写一个处理 Lua 源文件的导入器,以便我可以使用 Spotlight 搜索特定函数等。
如果您要创建大量导入程序,您可以创建一个应用了以下修复的自定义模板。但我不是,所以我没有……
使用 Spotlight Importer 模板创建一个新项目,然后:
- 删除
MySpotlightImporter.{h, m}
- 在
GetMetadataForFile.m中实现GetMetadataForFile()
- 使用空文件模板添加
schema.xml 和schema.strings
- 编辑
Info.plist 以正确描述您的导出类型UTI(如果有)。
您可以在 Apple 的文档中找到有关 schema.xml 的详细信息。现在您只需需要实现GetMetadataForFile(),以便它的行为适合您的自定义文件格式。