NSUserActivity не индексируется на OSX

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

{
    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)

person toohtik    schedule 16.09.2016    source источник


Ответы (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.
person toohtik    schedule 22.09.2016