2013-03-23 115 views
1

我不确定为什么会发生这种情况,但我想一个建议会帮助我。我有4个视图控制器。每当我退出应用程序(应用程序转到后台),我再次打开应用程序,我的应用程序打开,因为它再次启动,而应该打开viewcontroller,从我关闭的地方应用程序。 PS:我不是完全关闭应用程序,我只是在家里按下按钮,应用程序会背景。应用程序再次启动

我没有在appdelegate上写任何东西,这使得这种情况发生。有什么建议么?

Thanks 

回答

0

我想我得到了答案,我检查了plist中,我不得不

应用程序在后台不运行:是

我改成了NO,它的工作。

3

当应用程序转到后台时,您可能会收到异常,因此它会被终止。也许有一些错误的释放?

将您的设备连接到调试器,并观察应用程序转到后台时发生了什么。您应该很快就会看到问题。

2

出现这种情况的原因很少。

该应用程序可能会崩溃,因为它是后台,也许你正在运行一些代码应用程序将进入后台导致崩溃的应用程序委托。

+0

不,这不能发生,从所有4控制器bcoz,应用程序不能崩溃。 – iscavengers 2013-03-23 17:48:04

+0

还有,我没有什么可以在background.so hvnt上写任何代码。 – iscavengers 2013-03-23 17:48:42

+0

在xcode中向您的应用程序添加一般异常断点。如果你不知道如何做,你可以查看如何做到这一点。将应用程序从xcode运行到实时和连接的设备上,不要只将应用程序放在手机上,确保它通过xcode运行。背景设备上的应用程序,并查看它是否在任何位置触发该异常断点或在调试器中吐出任何消息。此外,请确保您在iOS4和iPhone 3GS及更高版本上运行,因为较旧的设备/ iOS不支持应用程序的后台处理。 – 2013-03-23 17:56:39

5

根据我有两个场景,当你的应用程序被“重新开张”每次

- >如果您的应用程序被同时按下家庭按钮iphone崩溃。
检查您的应用在进入非活动模式时是否正在执行任何操作。为此请检查您的applicationWillResignActive方法。

- >如果你已经在你的.plist文件设置UIApplicationExitsOnSuspend标志。
这会导致应用程序在用户切换到另一个应用程序时不会进入后台。

如果你还没有得到的问题是什么话,我建议你添加的异常处理程序中applicationDidFinishLaunching方法这样

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); 
    // The rest if you code .... 
} 

void uncaughtExceptionHandler(NSException *exception) { 
    // You code here, you app will already be unload so you can only see what went wrong. 
} 
相关问题