从一开始就重启iphone应用程序

时间:2011-11-30 17:09:04

标签: iphone xcode uiviewcontroller

当我关闭我的应用程序(通过HOME按钮)并再次打开它时,如何强制应用程序从最开始的视图重新启动而不是从显示的最后一个位置(关闭之前)?它是项目中的一个设置吗?

3 个答案:

答案 0 :(得分:8)

设置应用的info.plist键:UIApplicationExitsOnSuspend为True。

答案 1 :(得分:1)

这是由多任务造成的,即应用程序未正确退出。

要确保弹回,请在applicationWillEnterForeground中尝试此操作,如下所示:

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    [self.navigationController popToRootViewControllerAnimated:NO];
}

或者一种非常快速和肮脏的方式,就是当它进入后台时实际退出应用程序(注意这可能不是最好的方法)。

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    [[NSThread mainThread] exit];
    // OR
    exit(0);
}

答案 2 :(得分:1)

通过手机查找通知,告知您手机“成为活动”,只有在应用程序运行时才会发生,然后发送到后台,然后重新启动。 一旦您知道它再次变为活动状态,您就可以推送您的主页视图。

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