如何正确终止MonoTouch应用程序?

时间:2012-07-09 18:42:19

标签: xamarin.ios terminate

我正在使用以下代码,但即使在我调用它之后,我的应用仍然在iOS任务管理器中(双击主页按钮)。

UIApplication.SharedApplication.PerformSelector(
     new MonoTouch.ObjCRuntime.Selector("terminateWithSuccess"), null, 0f);

当我从任务管理器中删除应用程序时(在任务管理器中按住应用程序2秒钟然后按红色减号),它将从任务管理器中消失。

如果我使用上面的代码终止它,为什么它仍然在任务管理器中?如何以编程方式将其彻底删除,以使其从任务管理器中消失?

2 个答案:

答案 0 :(得分:3)

根据Apple的Human Interface Guidelines,这是禁忌。这样做可能会导致您的应用被拒绝

  

不要以编程方式退出

     

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

     

显示描述问题的有吸引力的屏幕并建议a   更正。屏幕提供反馈,向用户保证   你的申请没有错。它让用户掌控,   让他们决定是否要采取纠正措施   继续使用您的应用程序或按主页按钮并打开一个   不同的应用

     

如果只有部分应用程序功能无效,请显示   人们激活功能时的屏幕或警报。显示   仅当人们尝试访问不是的功能时才发出警报   运作。

答案 1 :(得分:1)

您通过iOS界面强制关闭应用程序(http://support.apple.com/kb/ht5137)不会将其从“任务管理器”中删除。 “任务管理器”确实显示了最近的应用程序列表。

以编程方式终止应用不会将其从最近的应用列表中删除。