Базовый Spotlight, continueUserActivity в target-c?

iOS 9.2, xCode 7.2, Objective-C

Я использовал это руководство (Core Spotlight version), но перевел его на Objective-C: http://code.tutsplus.com/tutorials/ios-9-introducing-search-apis--cms-24375

Все работает, кроме одного - я не могу получить обратный вызов, когда пользователь нажимает на результат поиска. Кажется, мне нужно написать следующий метод в моем делегате приложения:

- (BOOL)application:(UIApplication *)application
continueUserActivity:(NSUserActivity *)userActivity
 restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler

Но это не называется вообще. Как решить эту проблему?

1 ответ

Решение

Вы должны сначала проверить, что ваша деятельность имеет тип поиска действий:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler 
{
    if ([[userActivity activityType] isEqualToString:CSSearchableItemActionType]) 
    {
        NSString *uniqueIdentifier = [userActivity.userInfo objectForKey:CSSearchableItemActivityIdentifier];
        NSLog(@"%@",uniqueIdentifier);
        // Launch Detail controller
    }
return YES;
}

Надеюсь, это поможет вам!

Другие вопросы по тегам