核心聚光灯,objective-c 中的 continueUserActivity?

Vya*_*cov 2 objective-c uiapplication ios corespotlight nsuseractivity

iOS 9.2、xCode 7.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
Run Code Online (Sandbox Code Playgroud)

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

Pus*_*hpa 6

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

- (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;
}
Run Code Online (Sandbox Code Playgroud)

希望对你有帮助!!