iOS退出(0)奇怪的行为

Tha*_*ven -3 iphone objective-c exit ios

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

是的,我知道我不应该从代码中关闭应用程序

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

相反,对于一秒钟,我的应用程序的一些随机,非交互式视图正在出现,并且在此启动画面开始运行之后.

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

Mik*_*ler 6

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

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


Par*_*fna 5

来自技术问答QA1561
没有为优雅地终止iOS应用程序提供API.

不要调用退出功能.呼叫退出的应用程序将向用户显示已崩溃,而不是执行正常终止并将动画设置回主屏幕.
此外,可能无法保存数据,因为 如果调用exit,则不会调用-applicationWillTerminate:和类似的UIApplicationDelegate方法.如果在开发或测试期间有必要终止应用程序,建议使用中止函数或 断言宏.