ios 9核心聚光灯搜索不适用于某些字符串CSSearchableItemAttributeSet

时间:2016-06-07 22:53:52

标签: ios core spotlight corespotlight

我已成功(有点)在我的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 ");

1 个答案:

答案 0 :(得分:0)

站起来,我知道添加indexSearchableItems只会标记索引项(即使成功返回完成处理程序时),但我没有意识到ios需要多长时间来索引它们。

1天后,所有项目现在都可以搜索。

所以基本上,它只需要一些时间。