我的 iOS 应用程序需要使用 Spotlight 扩展程序吗?

Do I need to use a Spotlight extension for my iOS app?

我对 Core Spotlight 索引有疑问。

我在主 UIViewController 中使用了一种方法来索引数据,它按预期工作。但是,索引数据会在一段时间后停止出现在 Spotlight 搜索中(即使在大多数情况下过期时间设置为未来几年)。

我应该如何解决这个问题?我尝试制作一个 Spotlight 扩展(使用保存到共享应用组容器的数据副本),但我不知道如何检查扩展是否正常工作甚至被调用!

我只是不确定如何让 Spotlight 索引持久化。

如有任何帮助,我们将不胜感激。

为了将来参考,我发现了我的代码中的错误,现在它已修复,Spotlight 索引的行为符合预期。我不必使用 Spotlight 扩展程序。

我的索引方法在重新索引所有数据项之前首先删除了索引。事实证明这不是一个好方法。索引正在被删除,然后该方法必须在完成之前被中断(可能是由于应用程序正在后台运行)。这使索引为空。

现在我单独为每个新数据项编制索引,并在用户删除它们时单独删除它们。这按预期工作并且索引仍然存在。对于我的特殊用途,我不需要 Spotlight 扩展程序。