我已成功(有点)在我的iPhone应用程序中实现了聚光灯索引,但似乎无法搜索某些搜索字符串。
我将每个CSSearchableItemAttributeSet创建为类型kUTTypeText,我将显示名称,标题设置为" D0010"。我还将关键字设置为包括" D0010"同样。 (有几百个递增的数字,例如D0011,D0012 ......)
应用程序完成了索引而没有错误。
当我转到聚光灯搜索并输入" D0"我得到三个左右的结果,因为我继续输入" D001"我没有结果。
有趣的是,如果我键入" 0010"我得到了确切的结果!
有没有人知道最新情况?
下面的部分目标C代码。
attributeSet.displayName = [[NSString alloc] initWithFormat:@"%@", [dataflow flowCounter]];
attributeSet.title = [[NSString alloc] initWithFormat:@"%@", [dataflow flowCounter]];
//Sounds similar to displayName but is not displayed to user
attributeSet.contentDescription = [[NSString alloc] initWithFormat:@"%@", [dataflow flowDescription]];
attributeSet.keywords = @[[[NSString alloc] initWithFormat:@"%@", [dataflow flowCounter]],[[NSString alloc] initWithFormat:@"D%@", [dataflow flowNumber]],[dataflow flowCounter], attributeSet.displayName, attributeSet.contentDescription,[dataflow flowNumber],[dataflow flowCounter] ];
CSSearchableItem *item1 = [[CSSearchableItem alloc] initWithUniqueIdentifier:[[NSString alloc] initWithFormat:@"DTC_%@", [dataflow flowNumber]] domainIdentifier:@"com.utiligroup" attributeSet:attributeSet];
........
[[CSSearchableIndex defaultSearchableIndex] indexSearchableItems:[self.spotlightsearch copy]
completionHandler: ^(NSError * __nullable error) {
if (error != nil ){
NSLog(@"Error");
}
else {
NSLog(@"dataflows added ");
答案 0 :(得分:0)
站起来,我知道添加indexSearchableItems只会标记索引项(即使成功返回完成处理程序时),但我没有意识到ios需要多长时间来索引它们。
1天后,所有项目现在都可以搜索。
所以基本上,它只需要一些时间。