退出iPhone应用程序,从标签栏控制器?

时间:2014-01-21 13:44:26

标签: ios uitabbarcontroller

我有一个基于标签的应用程序,最后一个标签按钮是“退出”,如何点击最后一个标签栏上的iPhone应用程序?

4 个答案:

答案 0 :(得分:5)

我无法表达我有多强烈推荐这一点 - 只是不要

这将使您的应用程序在Apple App Store审核流程中从App Store中被拒绝。

如果您坚持使用exit(0);

如果用户希望退出您的应用,他们会在设备底部显示主页按钮,因此根本不需要执行此操作,这会造成混淆,并且看起来好像应用已崩溃。

请参阅this

  

没有为优雅地终止iOS应用程序提供API。

     

警告:不要调用退出功能。呼叫退出的应用程序将向用户显示已崩溃,而不是执行正常终止并将动画设置回主屏幕。

所以这意味着没有公共API允许您优雅地执行此操作,因此您的应用程序将被拒绝

  

2.5 - 使用非公共API的应用将被拒绝

来自来源Apple Review Guidelines

exit()

的基本定义
  

exit。 exit语句使用退出代码终止程序。它的原型是void exit(int exitcode);

     

exit由某些操作系统使用,可以通过调用程序使用。按照惯例,exit代码0表示程序正常完成,任何其他值表示发生了一些错误或意外结果。

另一个说不使用它的来源是here。基本上所有Apple文档都说在任何情况下都不应该以编程方式退出应用程序。

答案 1 :(得分:2)

我们无法在后台发送应用或我们无法退出应用,因为退出应用或以编程方式将其发送到后台违反了iOS Human Interface Guidelines,因为人们倾向于将此解释为崩溃而苹果从不允许此类应用。

答案 2 :(得分:2)

您可以使用以下代码退出iOS应用程序

exit(0)

然而,

来自Apple's Human User Guidelines ...

  

不要以编程方式退出

     
    

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

         

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

         

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

  

答案 3 :(得分:0)

!!!请不要这样做! 用户不应终止iPhone应用程序!您的应用将被拒绝!

检查UITabBarDelegate

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
     if( item == exitItem ) {
         exit(0);
     }
}