未从搜索关闭的应用程序调用ContinueUserActivity [英] continueUserActivity not called from search closed app

查看:21
本文介绍了未从搜索关闭的应用程序调用ContinueUserActivity的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用核心Spotlight从Spotlight搜索结果中打开一个视图控制器。

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

if(self.window.rootViewController){
    [self.window.rootViewController restoreUserActivityState:userActivity];
}

return YES;
}

当应用程序已经在后台运行时,这似乎是有效的,但是当它关闭时,我点击Spotlight搜索结果,似乎没有调用此方法,我得到的行为是我的应用程序只是在主界面中启动。

你有什么建议让它在我的应用程序关闭时也能工作吗? 有没有办法调试正在发生的事情(因为我需要运行应用程序来连接调试器,所以我不知道如何从搜索结果模拟应用程序的打开)。

推荐答案

此处,它遵循您的建议提供完整的答案。

// In application: didFinishLaunchingWithOptions:
NSDictionary *activityDic = [launchOptions objectForKey:UIApplicationLaunchOptionsUserActivityDictionaryKey];

if (activityDic) {
    if(self.window.rootViewController){
        NSUserActivity * userActivity = [activityDic valueForKey:@"UIApplicationLaunchOptionsUserActivityKey"];
        [self.window.rootViewController restoreUserActivityState:userActivity];
    }
}

这篇关于未从搜索关闭的应用程序调用ContinueUserActivity的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆