iOS退出(0)奇怪的行为

时间:2012-09-11 08:41:39

标签: iphone objective-c ios exit

在我使用它的应用程序中,我需要从代码中关闭它。我正在使用exit(0)

是的,我知道我不应该从代码

关闭应用程序

当我以这种方式关闭应用程序并再次运行时,会出现一些奇怪的行为 - 应用程序无法启动,也不会启动屏幕,例如应用程序的新实例,也不会从上一个视图开始,例如应用程序从后台返回。

相反,我的应用程序会出现一段随机的非交互式视图,然后开始运行。

我很困惑,因为我找不到来源,以及如何修复这个丑陋的bug。你能帮助我吗?

3 个答案:

答案 0 :(得分:6)

这正是exit(0)的问题。你会遇到奇怪的多任务行为和各种其他问题。

您根本无法在代码中终止您的应用程序。您应该向我们解释为什么您认为需要以编程方式退出,以便我们可以帮助您找到替代解决方案。

答案 1 :(得分:5)

来自Technical Q&A QA1561
没有为优雅地终止iOS应用程序提供API。

  

请勿调用退出功能。将出现应用程序调用退出   让用户崩溃,而不是表现优雅   终止并动画回到主屏幕   此外,可能无法保存数据,因为    -applicationWillTerminate:和类似的 UIApplicationDelegate 方法将不会被调用   如果你打电话给退出如果在开发或测试期间   有必要终止您的应用程序,中止功能,或   建议使用断言宏。

答案 2 :(得分:0)

而不是

exit(0) 

试试这个:

[[UIApplication sharedApplication] performSelector:@selector(terminateWithSuccess)];