【发布时间】:2014-02-11 03:38:43
【问题描述】:
我有一个基于选项卡的应用程序,最后一个选项卡按钮是“退出”,我如何才能在单击最后一个选项卡栏时完全使用 iPhone 应用程序?
【问题讨论】:
-
如果你要把你的应用放到 AppStore 上,这是没有办法的。
-
@Euroboy 可能我可以在该点击上加载视图控制器并在该视图控制器加载时让应用退出?有没有这样的方法?
我有一个基于选项卡的应用程序,最后一个选项卡按钮是“退出”,我如何才能在单击最后一个选项卡栏时完全使用 iPhone 应用程序?
【问题讨论】:
我无法表达我不会强烈推荐这个 - 只是不要
这将使您的应用在 Apple App Store 审核流程中被 App Store 拒绝。
如果你坚持,尽管你可以使用exit(0);
如果用户希望退出您的应用,他们在设备底部有 Home 按钮,因此根本不需要这样做,这会造成混乱并且看起来好像应用已崩溃。
请参阅this,它指出。
没有提供用于优雅终止 iOS 应用程序的 API。
警告:不要调用退出函数。调用 exit 的应用程序在用户看来似乎已经崩溃,而不是执行正常终止并以动画方式返回主屏幕。
所以这意味着没有公共 API 可以让您优雅地执行此操作,因此您的应用会被拒绝
2.5 - 使用非公共 API 的应用将被拒绝
exit()的基本定义
exit。 exit 语句使用退出代码终止您的程序。它的原型是void exit(int exitcode);
exit被某些操作系统使用,可能被调用程序使用。按照惯例,0的exit代码表示程序正常结束,任何其他值表示发生了一些错误或意外结果。
另外一个说不要使用它的来源是here。这基本上就是 Apple 文档中的所有内容,在任何情况下都不应以编程方式退出应用程序。
【讨论】:
exit(0) 根本不应该使用。
我们不能在后台发送应用程序或者我们不能退出应用程序,因为退出您的应用程序或以编程方式将其发送到后台违反了iOS Human Interface Guidelines,因为人们倾向于将此解释为崩溃,而苹果绝不允许这样应用。
【讨论】:
您可以使用以下代码退出 iOS 应用程序
exit(0)
然而,
来自Apple's Human User Guidelines...
不要以编程方式退出
永远不要以编程方式退出 iOS 应用程序,因为人们倾向于 将此解释为崩溃。但是,如果外部环境阻止 您的应用程序无法按预期运行,您需要告诉您的 用户了解情况并解释他们可以做些什么。 根据应用程序故障的严重程度,您有两个 选择。
显示一个有吸引力的屏幕来描述问题并提出建议 更正。屏幕提供反馈,让用户放心 你的申请没有问题。它让用户控制, 让他们决定是否要采取纠正措施,以及 继续使用您的应用程序或按主页按钮并打开一个 不同的应用
如果您的应用程序的某些功能无法正常工作,请显示 当人们激活该功能时,屏幕或警报。展示 仅当人们尝试访问未使用的功能时才发出警报 功能正常。
【讨论】:
!!!请不要这样做! iphone应用程序不应该被用户终止!您的应用将被拒绝!
检查UITabBarDelegate
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
if( item == exitItem ) {
exit(0);
}
}
【讨论】: