我使用
App Search
框架实现了 CoreSpotLight
。结果仍然没有出现在 iOS 的聚光灯下
我遵循的方法是
CSSearchableItemAttributeSet
、title
和 keywords
创建
contentDescription
CSSearchableItem
。CSSearchableItem
添加到 CSSearchableIndex
一切似乎都是正确的,不知道为什么结果没有显示..
终于找到问题了
我使用的模拟器(iPad Retina 9.3)不支持核心聚光灯。我们可以在apple docs
中找到不支持的设备名称虽然 iOS 9 用户可以使用应用程序搜索,但 iPhone 4s、iPad 2、iPad(第 3 代)、iPad mini 和 iPod touch(第 5 代)不支持 NSUserActivity 和 Core Spotlight 的搜索功能。
还有, 以下代码抛出错误
[[CSSearchableIndex defaultSearchableIndex] indexSearchableItems:@[item] completionHandler:^(NSError * _Nullable error) {
if (error) {
NSLog(@"Error :%@",error);
}
}];
日志是
Error : Error Domain=CSIndexErrorDomain Code=-1005 "(null)”
,这意味着CSIndexErrorCodeIndexingUnsupported
,此设备不支持索引。
希望这可以为某人节省时间。
编辑
正如@rmaddy建议的那样,检查
CSSearchableIndex isIndexingAvailable
,这可以直接帮助找到问题。