如何退出(退出)iPhone4 sdk中的应用程序

时间:2010-10-06 05:25:50

标签: iphone ios4

如何退出iPhone4应用?当我使用exit(0)时,应用程序进入后台。我想退出应用程序,而不是将其发送到后台。

4 个答案:

答案 0 :(得分:7)

iPhone应用程序不应该有退出按钮。用户通过按下主按钮退出。

来自Apple的文档:(http://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/MobileHIG.pdf)

人们通过打开另一个应用程序退出iPhone应用程序。特别要注意的是,人们不会点击应用程序关闭按钮或从菜单中选择退出。在iOS 4.0及更高版本以及某些设备上,退出应用程序在后台移动到挂起状态。所有iPhone应用程序都应该:

  • 随时准备退出。因此,请尽快并尽可能合理地保存用户数据。
  • 停止时以最精细的细节保存当前状态。例如,如果您的应用程序 显示滚动数据,保存当前滚动位置。

iPhone应用程序永远不应该以编程方式退出,因为这样做会让用户崩溃。但是,有时外部环境会阻止您的应用程序按预期运行。处理此问题的最佳方法是显示描述问题的有吸引力的屏幕,并建议用户如何更正问题。这有两种方式帮助用户:

  • 它提供反馈,向用户保证您的应用程序没有任何问题
  • 它让用户掌控,让他们决定是否要采取纠正措施并继续 使用您的应用程序或按“主页”按钮并打开其他应用程序

答案 1 :(得分:6)

在应用程序的plist中设置UIApplicationExitsOnSuspend。当用户切换到另一个应用程序时,这将导致应用程序不在iOS4下进入后台。

然后让您的应用在您的应用想要退出时向Safari发送openURL:消息。当Safari启动时,您的应用程序将被终止(通过兑现UIApplicationExitsOnSuspend plist键)。

如果您将Safari网址指向一个网页,说明您的应用停止运行的原因,则该用户可能不太可能为其提供一星级评分。

请注意,此程序可能会或可能不会遵循Apple的建议,但它确实保留在合法的公共API使用范围内(例如,甚至Apple的一些示例应用程序也会启动Safari)。

答案 2 :(得分:1)

之后,我把我所说的所有内容都放在了这里,并且有效。

- (Void) applicationDidEnterBackground: (UIApplication *) application
{
      exit (0);
}

完全脱离了应用程序

答案 3 :(得分:0)

在app delegate中有方法调用applicationDidEnterBackground

调用exit(0)