本文介绍了未从搜索关闭的应用程序调用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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!