我可以主动关闭我的iOS应用吗?

时间:2010-08-26 01:03:54

标签: iphone ios shutdown

有一些罕见的数据损坏情况,而不是在同一个会话中尝试恢复,我想执行一些修复,然后关闭应用程序,以便下次启动是安全的。

如果没有像*(unsigned int *)0 = 0xDEADBEEF这样愚蠢的东西使应用程序崩溃,我无法在Cocoa中找到导致正常关闭的API。

更新:找到关于这个主题的文档,这基本上证实了怀疑,并指出exit是最后一个选择:

http://developer.apple.com/iphone/library/qa/qa2008/qa1561.html

3 个答案:

答案 0 :(得分:8)

exit(0);

是的,它也适用于iPhone。

可替换地,

[[UIApplication sharedApplication] terminate];

答案 1 :(得分:0)

在调试Debug构建时,我更喜欢会碰到调试器的东西,所以我不仅知道原因,还可以在必要时查找更多细节。向任何非零对象发送随机消息是一种目标C方式。

[ UIApplication foo: bar ];

对于App store提交,-terminate肯定会因使用(官方)未记录的API而拒绝您的应用。据报道,退出(0)也是如此,即使它是一个记录在案的操作系统调用。

在OS 4.0之前,您始终可以向Safari发送URL,这会导致操作系统正常终止您的应用。不确定在OS 4.0中做什么以及在App Store合法之后。

答案 2 :(得分:0)

这对我没有任何意义 - 内部重置不应该没有资源。强制关闭应用程序会让用户感到厌烦。