我向我的网站添加了 Web 标记,因此当用户在 iOS 9 中搜索时,项目将出现在 Spotlight 搜索结果中。用户可以在应用程序中浏览相同的项目,因此我想在NSUserActivity
用户浏览项目时创建链接到 Web 内容的对象。
现在,NSUserActivity
有一个contentAttributeSet
属性,我将使用它来将缩略图照片附加到活动中。CSSearchableItemAttributeSet
有一些也有的属性NSUserActivity
,所以我不确定我应该实现哪一个,或者我是否应该为两者指定相同的数据。我是否设置了title
for theNSUserActivity
以及 the title
on the CSSearchableItemAttributeSet
,还是只设置了一个或另一个?同样keywords
which 也是两者的属性。
NSUserActivity *activity = [[NSUserActivity alloc] initWithActivityType:@“com.domain.appname-something"];
activity.title = @“My Title";
activity.keywords = [NSSet setWithArray:@[@“one", @“two", @“three"]];
activity.userInfo = @{@“id": @“12345"};
activity.requiredUserInfoKeys = [NSSet setWithArray:@[@“id"]];
activity.eligibleForSearch = YES;
activity.eligibleForPublicIndexing = YES;
activity.webpageURL = [NSURL URLWithString:@"https://someurl.com"];
//QUESTION: Do I need to duplicate title and keywords here:
CSSearchableItemAttributeSet *contentAttributeSet = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:(NSString *)kUTTypeImage];
contentAttributeSet.title = activity.title;
contentAttributeSet.displayName = activity.title;
contentAttributeSet.keywords = [activity.keywords allObjects];
contentAttributeSet.contentDescription = @“My Description Here";
contentAttributeSet.thumbnailData = [self generateImage];
activity.contentAttributeSet = contentAttributeSet;