Базовый 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;
}
Надеюсь, это поможет вам!