Cocoa touch UIApplication启动手机应用程序并将用户返回到错误屏幕

Cocoa touch UIApplication启动手机应用程序并将用户返回到错误屏幕,cocoa-touch,Cocoa Touch,我的iPhone应用通过以下方式启动电话呼叫: NSURL *phoneURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel://%@", @"11111111"]]; [[UIApplication sharedApplication] openURL:phoneURL]; 这是来自UINavigationController内部的UIView。但是,它不是根视图 当手机应用程序完成通话并将控制权返回到我的应用程序时,用户返回

我的iPhone应用通过以下方式启动电话呼叫:

NSURL *phoneURL = [NSURL URLWithString:[NSString stringWithFormat:@"tel://%@", @"11111111"]];
[[UIApplication sharedApplication] openURL:phoneURL];
这是来自
UINavigationController
内部的
UIView
。但是,它不是根视图

当手机应用程序完成通话并将控制权返回到我的应用程序时,用户返回的屏幕不是用户离开的屏幕。它是
UINavigationController
的根屏幕

如何让
[UIApplication sharedApplication]
在用户离开的屏幕上返回控件?

您没有

如果您插入适当的调试代码,我想您会发现,您的应用程序实际上在通话时关闭,在通话结束时重新打开。这是故意的;通话中的资源是有限的,苹果不想在挂断电话和终止应用之间做出决定。因此,您需要做的是在退出之前保存应用程序的状态(无论是在运行时还是在applicationWillTerminate:)中),然后在ApplicationIDFinishLaunching:中还原它。幸运的是,无论如何你都需要这样做——当你重新启动iPhone应用程序时,它们应该总是恢复到以前的状态——所以这并不是额外的工作