允许后台模式,但有条件终止?

时间:2011-09-15 13:00:38

标签: iphone background terminate

我将“应用程序无法在后台运行”设置为NO

这意味着它可以进入后台并稍后恢复。

我在“applicationDidEnterBackground”中添加了一些代码, 我希望在需要时强制退出应用程序。 (当背景无关时。)

我不推荐“退出” 我可以发布一条消息,这可能会导致像applicationWillTerminate这样的内容吗?

  • 修改

让我澄清为什么我会这样想, 我希望我的应用程序在下载内容时运行后台..通过beginBackgroundTaskWithExpirationHandler
但如果用户没有下载任何东西,我可以安全地退出该应用程序。

谢谢

2 个答案:

答案 0 :(得分:1)

iOS上的一般Apple方法是应用程序不应出于任何原因自行终止。

重要的是要了解当你的应用程序在后台“运行”时,它并没有真正运行:“应用程序不在后台运行”键基本上是为了确保向iOS 3及更低版本构建的应用程序向后兼容,这往往会对用户如何进入应用程序做出某些假设。新应用程序不支持它的原因很少。

基本上,请不要打扰:我认为你可以在技术上打电话给exit(),但苹果会讨厌你,这对平台来说是不好的风格。

答案 1 :(得分:0)

您无需担心这一点。

如果您在后台工作并设置后台任务,那么它将在需要时运行并在完成后执行其处理程序。

你似乎没有意识到的是,如果你在后台无事可做,你的应用程序就会暂停,实际上不会运行。

在这种情况下,您无需做任何事情,退出应用程序将无法获得任何您尚未获得暂停的内容。