ios - Core Spotlight,objective-c 中的 continueUserActivity?

标签 ios objective-c uiapplication 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

除一件事外一切正常 - 当用户点击搜索结果时我无法获得回调。看来我需要在我的应用程序委托(delegate)中编写以下方法:

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

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

最佳答案

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

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

希望对你有帮助!!

关于ios - Core Spotlight,objective-c 中的 continueUserActivity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34352653/

相关文章:

ios - 可以从 iOS 设备获取多少小时的日志/控制台日志?

iphone - CoreBluetooth 中不允许广告 key 'Manufacturer Data'

ios - 使用自定义参数初始化 UIView

ios - 如何在 iOS 应用程序中将自定义字体系列设置为系统字体

iOS 启动设置 -> 限制 URL 方案

objective-c - UIApplication openURL : doesn't work with relative URLs

ios - Xcode 11 无法将 Info.plist 重新分配到一个组中

ios - 无需交互即可发送后台短信

ios - 我可以为 iPhone 和 iPad 提供两个单独的应用程序吗?

iphone - 在 Objective-C block 中调用 C 函数(链接器错误)