【问题标题】:How do i terminate an iPhone application gracefully in code如何在代码中优雅地终止 iPhone 应用程序
【发布时间】:2010-07-22 23:48:39
【问题描述】:

在 iPhone 上结束应用程序的正确方法是什么?

谢谢,

安东

【问题讨论】:

标签: iphone objective-c termination human-interface


【解决方案1】:

Jaanus指的是Apple iPhone Human Interface Guidelines中的这一段

停止

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

随时准备退出。因此,应尽快并尽可能多地保存用户数据。 停止时保存当前状态,尽可能详细地保存。例如,如果您的应用程序显示滚动数据,请保存当前滚动位置。 iPhone 应用程序永远不应以编程方式退出,因为这样做对用户来说就像是崩溃。 但是,有时外部环境会阻止您的应用程序按预期运行。处理这个问题的最好方法是显示一个有吸引力的屏幕来描述问题并建议用户如何纠正它。这从两个方面帮助用户:

它提供的反馈让用户确信您的应用程序没有问题 它使用户处于控制之中,让他们决定是否要采取纠正措施并继续使用您的应用程序,或者按下主页按钮并打开另一个应用程序 如果某些情况仅阻止您的应用程序的某些功能工作,您可以在用户激活该功能时显示屏幕或警报。尽管警报在设计上没有太大的灵活性,但如果可以的话,它可能是一个不错的选择:

非常简洁地描述情况 提供一个执行纠正操作的按钮 仅当用户尝试访问不起作用的功能时才显示警报 与所有警报一样,用户看到的越少,它们就越有效。有关创建警报的更多信息,请参阅“使用警报”。

【讨论】:

  • 谢谢,这是有道理的。我真的只需要在调试过程中完成干净。
  • 如果您想以编程方式关闭您的应用程序进行调试,只需运行您通常在 ApplicationWillTerminate 中运行的任何程序,然后运行 ​​exit(0),也许?
【解决方案2】:

iPhone 应用程序无法自行退出/终止。 Apple 在其人机界面和/或编程指南中积极反对它(不记得具体是哪一个),因为它看起来像用户崩溃。

【讨论】:

    【解决方案3】:

    应用不应自行终止。

    另外,避免像在 iOS4 中那样显示提示用户手动退出应用程序的“退出屏幕”,应用程序可能会在后台保持打开状态,而您的用户将停留在该退出状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-07
      • 2023-03-10
      • 2011-02-14
      • 2018-12-12
      相关资源
      最近更新 更多