4

我想以编程方式退出我的应用程序,我用谷歌搜索,有人建议使用 exit(1),但我猜苹果不支持。如果是这种情况,我如何以编程方式退出我的应用程序。任何帮助表示赞赏。

4

4 回答 4

15

exit(0);会工作但不要使用它

您不应强制关闭应用程序,因为终止应用程序的标准方法是按下主页按钮(或使用多任务栏)

不要以编程方式退出


永远不要以编程方式退出 iOS 应用程序,因为人们倾向于将其解释为崩溃。但是,如果外部环境阻止您的应用程序按预期运行,您需要告诉您的用户这种情况并解释他们可以做些什么。根据应用程序故障的严重程度,您有两种选择。

显示一个有吸引力的屏幕,描述问题并提出更正建议。屏幕提供反馈,让用户确信您的应用程序没有问题。它使用户处于控制之中,让他们决定是否要采取纠正措施并继续使用您的应用程序,或者按下主页按钮并打开另一个应用程序

如果您的应用程序的某些功能无法正常工作,请在人们激活该功能时显示屏幕或警报。仅当人们尝试访问不起作用的功能时才显示警报。

来源

于 2012-08-30T11:07:35.163 回答
2

我相信你没有正确阅读评论,因此在这里发布你的问题的答案:“不要那样做。因为苹果不允许应用程序像那样崩溃。”

看这里。如何在处理本地通知后优雅地退出我的 iOS 应用程序,这里在 iOS 4.0 中退出应用程序,这里有票价讨论。

于 2012-08-30T11:08:59.173 回答
2

iOS4 发布后,APPLE 增加了多任务处理(新功能)。此功能使用户能够在后台保持应用程序处于暂停状态,如果在这两者之间他必须进行一些其他活动(例如接听电话)。所以苹果认为你的应用应该在后台维护,直到用户从后台删除应用。在此之后,如果您想退出使用exit(0);,使用它会进一步导致 AppStore 拒绝

于 2012-08-30T11:13:08.407 回答
-3

这是在您的应用程序中完成exit功能的错误方法。当我阅读您的问题时,我想到了这一点,从未在任何地方应用过,所以如果您要实现它,请小心!

- (void) exitApp
{
      NSArray *array = [[[NSArray alloc] init] autorelease];
      NSLog(@"%@",[array objectAtIndex:10]); //will crash here, looks like exit.
}

PS您可以将此代码放在您的UIAlertView询问退出确认中,例如Do you really want to exit?。在YES按下按钮时,您可以调用[self exitApp];用户认为他将退出应用程序。

于 2012-08-30T11:13:10.623 回答