代码需要运行在ios9或更高版本上
需要增加系统版本的判断
#pragma mark - Searchable搜索
+(void)addSearchableItem{
CSSearchableItemAttributeSet *attributeSet = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:@"duwu.Topic.test"];
attributeSet.title = @"title";
attributeSet.contentDescription = @"content";
//试了一下传URL进去 好像是显示不出网络的图片
// attributeSet.thumbnailURL = [NSURL URLWithString:@"p_w_picpathURL"];
attributeSet.keywords = @[@"可以",@"增加",@"多个",@"关键词"];
//因为我没本地图片去显示 而且加到Searchable搜索里好像也不用多实时 我便采用了子线程下载图片等图片下载完了在增加到搜索栏里的方法
dispatch_async(dispatch_get_global_queue(0, 0), ^{
NSData *_thumbnailData = [[NSData alloc] initWithContentsOfURL:attributeSet.thumbnailURL];
attributeSet.thumbnailData = _thumbnailData;
CSSearchableItem *_item = [[CSSearchableItem alloc] initWithUniqueIdentifier:@"一个特殊的ID,便于用户点击进入APP后区别处理" domainIdentifier:@"分组信息" attributeSet:attributeSet];
//删除某个分组的Searchable搜索
[[CSSearchableIndex defaultSearchableIndex] deleteSearchableItemsWithDomainIdentifiers:@[@"分组信息"] completionHandler:^(NSError * _Nullable error) {
}];
//增加信息到Searchable搜索
[[CSSearchableIndex defaultSearchableIndex] indexSearchableItems:@[_item] completionHandler:^(NSError * _Nullable error) {
}];
});
}
最好也不要增加过多的关键词和信息 滥用的话应该会被系统把权重降低的...