NSUserActivity
Web マークアップを Web サイトに追加して、ユーザーが iOS 9 で検索したときに項目が Spotlight 検索結果に表示されるようにしました。ユーザーはアプリで同じ項目を参照できるため、ユーザーが項目を参照するときに Web コンテンツにリンクするオブジェクトを作成したいと考えています。
これで、サムネイル写真をアクティビティに添付するために使用するプロパティがありますNSUserActivity
。にもいくつかのプロパティがあるため、どちらを実装する必要があるのか 、または両方に同じデータを指定する必要があるのか わかりません。を に設定するのと同様にに設定するのですか、それともどちらか一方だけに設定しますか? 両方のプロパティでも同じです。contentAttributeSet
CSSearchableItemAttributeSet
NSUserActivity
title
NSUserActivity
title
CSSearchableItemAttributeSet
keywords
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;