应用程序搜索结果未显示在 Spot Light 中 iOS

App search results not showing up in spot light iOS

我使用 CoreSpotLight 框架实现了 App Search。结果仍未显示在 iOS spotlight

我采用的方法是

  1. 已创建 CSSearchableItemAttributeSet titlekeywordscontentDescription
  2. 已创建 CSSearchableItem 并设置了上述创建的属性。
  3. CSSearchableItem 添加到 CSSearchableIndex

一切似乎都是正确的,不知道为什么结果没有显示..

终于找到问题了,

核心聚光灯不支持我使用的模拟器(iPad Retina 9.3)。我们可以在 apple docs

中找到不支持的设备名称

Although app search is available for iOS 9 users, the search functionality of NSUserActivity and Core Spotlight is not supported on iPhone 4s, iPad 2, iPad (3rd generation), iPad mini, and iPod touch (5th generation).

此外, 以下代码引发错误

[[CSSearchableIndex defaultSearchableIndex] indexSearchableItems:@[item] completionHandler:^(NSError * _Nullable error) { if (error) { NSLog(@"Error :%@",error); } }];

日志是Error : Error Domain=CSIndexErrorDomain Code=-1005 "(null)”,意思是CSIndexErrorCodeIndexingUnsupported,这个设备不支持索引。 希望这能为某人节省时间。

编辑

正如@rmaddy 所建议的那样,检查 CSSearchableIndex isIndexingAvailable,这有助于找到问题。