2016-09-16 7 views
11

Я пытаюсь добавить свою собственную деятельность к результатам поиска Spotlight на osx 10.11. Но после многих попыток я не смог попасть в результаты поиска Spotlight не по ключевым словам, а не по поиску по названию.NSUserActivity не индексируется по osx

{ 
    self.userActivity = [[NSUserActivity alloc] initWithActivityType:@"Reverse DNS keyword"]; 

    self.userActivity.title = @"Some title"; 
    self.userActivity.keywords = [NSSet setWithArray: @[@"Some keywords"]]; 
    self.userActivity.eligibleForSearch = YES; 
    self.userActivity.eligibleForHandoff = YES; 
    self.userActivity.eligibleForPublicIndexing = YES; 
    self.userActivity.userInfo = @{@"name" : @"Some name"}; 
    self.userActivity.delegate = self; 
    self.userActivity.requiredUserInfoKeys =[NSSet setWithArray: @[@"name"]]; 
    self.userActivity.needsSave = YES; 

    [self.userActivity becomeCurrent]; 

    NSApp.userActivity = self.userActivity; 
} 

- (void)userActivityWillSave:(NSUserActivity *)userActivity 
{ 
    userActivity.userInfo = @{@"name" : @"Some name"}; 
} 

Также я обновил Info.plist с NSUserActivityTypes массива и элемента из initWithActivityType: аргумент

Кроме того, я заметил, что в консоли когда-то появляется сообщение:

16/09/2016 13:14:49.731 Caching encoded userInfo to use until we are marked dirty again (UAUserActivity.m #1567) 
16/09/2016 13:14:49.731 Returning cached encoded userInfo (UAUserActivity.m #1508) 

ответ

1

После много искали, в конце концов я нашел ответ на мой вопрос в TN2416:

**Are these new Search APIs available on OS X?** 

CoreSpotlight and the search functionality of NSUserActivity are not supported on OS X. However, web search results may be shown on OS X. 
Смежные вопросы