从头开始重新启动iphone应用程序
当我关闭我的应用程序(通过HOME按钮)并再次打开它时,如何强制应用程序从最初的视图重新启动,而不是从最后显示的位置(之前它被关闭了)?这是项目中的一个设置吗?从头开始重新启动iphone应用程序
设置应用程序的info.plist键:UIApplicationExitsOnSuspend为True。
这是由多任务引起的,即应用程序没有正常退出。
为了确保其持久性有机污染物回来,试试这个在applicationWillEnterForeground
,像这样:
- (void)applicationWillEnterForeground:(UIApplication *)application
{
[self.navigationController popToRootViewControllerAnimated:NO];
}
还是一个非常快速和肮脏的方式,是真正退出应用程序,当它进入背景(注意,这可能是不是最好的方法)。
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[[NSThread mainThread] exit];
// OR
exit(0);
}
“退出(0)”的问题是苹果会拒绝。 – Louie
好吧,试试我的另一个解决方案或者'[[NSThread mainThread] exit];' –
查找从手机让你知道手机“开始活跃起来”的,如果应用程序正在运行才会发生,然后发送到后台的通知,然后再次拉升。 一旦你知道它已经变得活跃,你可以推动你的主页视图。
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
if (application.applicationState == UIApplicationStateInactive) {
//application has been sent to the background
}
if(application.applicationState == UIApplicationStateActive) {
//The application has become active an alert view or do something appropriate.
//push home view here.
}
}
您也可以像Alex指出的那样使用应用程序委托方法,但不要尝试退出。你应该改变用户提供的信息。应用程序委托和通知同样适用。 – TigerCoding
我喜欢你的答案,但我认为提问者希望应用程序保持多任务处理,但只是从根视图控制器开始.... – Sid
hotpaw2是正确的。这就是我一直在寻找的东西。但是,我选择了“应用程序不在后台运行”并将其设置为YES。 – sexitrainer