需要判断设备系统版本是否为iOS9及以上并导入框架
CoreSpotlight/CoreSpotlight.hMobile 和 CoreServices/MobileCoreServices.h
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000
#import <>
#import
#endif
/**
往iOS 9以上设备Spotlight中增加条目
@param photo图片数据转化成二进制NSDatae.g.UIImagePNGRepresentation([UIImage imageNamed:@"DIY.jpg"])
@param spotlightTitle搜索结果标题e.g.@"页zi"
@param spotlightDesc搜索结果详细描述e.g.@"你要找的是不是XXX"
@param keywords搜索关键字NSString组成的NSAtrray e.g.@[@"女神",@"校花"]
@param spotlightInfo传递过去的值,可以作为一些数据传递给接受的地方
@param domainIdid,通过这个id来判断是哪个spotlight
*/
- (void)insertSearchableItem:(NSData*)photo spotlightTitle:(NSString*)spotlightTitle description:(NSString*)spotlightDesc keywords:(NSArray*)keywords spotlightInfo:(NSString*)spotlightInfo domainId:(NSString*)domainId {
//
CSSearchableItemAttributeSet*attributeSet = [[CSSearchableItemAttributeSetalloc]initWithItemContentType:(NSString*)kUTTypeImage];
attributeSet.title= spotlightTitle;//标题
attributeSet.keywords= keywords;//关键字,NSArray格式
attributeSet.contentDescription= spotlightDesc;//描述
attributeSet.thumbnailData= photo;//图标, NSData格式
//
CSSearchableItem*item = [[CSSearchableItemalloc]initWithUniqueIdentifier:spotlightInfo
domainIdentifier:domainIdattributeSet:attributeSet];
[[CSSearchableIndexdefaultSearchableIndex]indexSearchableItems:@[item]
completionHandler:^(NSError* error) {
if(error) {
NSLog(@"indexSearchableItems Error:%@",error.localizedDescription);
}
}];
}
网友评论