核心聚焦,objective-c 中的 continueUserActivity?

Core Spotlight, continueUserActivity in objective-c?

iOS9.2,xCode7.2,Objective-C

我使用了本教程(Core Spotlight 版本),但将其翻译成 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

但它根本没有被调用。如何解决这个问题?

您必须首先检查您的 activity 是否具有类型搜索操作:

- (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;
}

希望对你有帮助!!