当按下iPhone的Home键时强制退出应用程序(在iOS4上)

6
我不希望我的应用程序在按下Home键时切换到“任务栏”。因此,我希望在按下Home键后它会被关闭。我已将以下条目添加到info.plist文件中,但这并没有改变行为:
应用程序不在后台运行
(我已经勾选了复选框...)
我已经在调试和发布模式下重新构建了整个应用程序,但无济于事。我听说还有另一个关键字应该添加到info.plist中,但我不能通过Xcode添加它:
UIApplicationExitsOnSuspend
正确的方法是什么?
问候,
Franz

1
事实上,我刚刚检查了一下:“应用程序不在后台运行”与键“UIApplicationExitsOnSuspend”是相同的。 “应用程序不在后台运行”只是人类可读形式。 - user255607
3个回答

17

在iOS 4中,Xcode项目默认启用了多任务处理功能。这将阻止调用applicationWillTerminate方法。如果您不想支持多任务处理,请在MyAppName-Info.plist文件中添加UIApplicationExitsOnSuspend并勾选复选框。如果您想支持多任务处理,请在applicationDidEnterBackground委托方法中放置任何要在应用程序进入非活动状态之前执行的代码。


1

你所做的确实会停止应用程序在后台运行,但你无法阻止它仍然出现在多任务栏中。抱歉。


当从任务栏或桌面按下图标时,应用程序会“完全”重新启动,执行将停止。感谢您的澄清。 - user255607

1
当按下主页按钮时,您可以手动关闭应用程序。按下主页按钮会调用applicationDidEnterBackground。在此委托中,只需编写exit(0),即可立即结束应用程序。

1
如果你使用这种方法,你的应用将会被拒绝。 - Gajendra K Chauhan
不会被拒绝,如果您向用户指示即将关闭应用程序。我已经提交了带有此功能的应用程序到应用商店。 - shahid610169

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接