Я добавил веб-маркер на свой сайт, поэтому элементы появятся в Spotlight. Результаты поиска, когда пользователи ищут в iOS 9. Пользователи могут просматривать те же элементы в приложении, поэтому я хочу создать объекты NSUserActivity
, которые ссылаются на веб-контент при просмотре пользователями. предметы.Какие свойства следует использовать с CSSearchableItemAttributeSet в NSUserActivity?
Сейчас 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;
Кроме того, если установлено свойство 'displayearchName'' CSSearchableItemAttributeSet'', оно имеет приоритет над любым свойством 'title' в результатах поиска (по крайней мере, в iOS 9.2) – azsromej