了解iPhone App背景状态

时间:2013-03-23 16:34:38

标签: iphone xcode background states

我有一个棘手的问题。在我的应用中,用户可以更改是否希望应用在后台运行。如果是 - 它应该工作,直到用户杀死它。如果没有 - 它应该工作,直到用户按下主页按钮,并且应该在用顶部按钮锁定屏幕后工作。

因此,plist文件中有一行称为“应用程序不在后台运行”。如果我把它设为“是” - 应用程序运行直到按下主页按钮,并且在锁定屏幕后仍然工作。完善。如果我让它“不” - 应用程序一直运行,直到我杀了它。完美。

但我猜你不能改变app中的plist值。我已经找到了使用applicationDidEnterBackground执行此操作的方法:

if (userDontWantItRunInBackground) { exit(0); }

但是有一个问题(除了Apple不推荐它):

if "application does not run in background" = YES:

applicationDidEnterBackground is NOT CALLED on locking the screen

if "application does not run in background" = NO:

applicationDidEnterBackground is CALLED on locking the screen

没用!这不允许我在锁定的屏幕上运行应用程序!

1 个答案:

答案 0 :(得分:0)

在iOS 4中,如果您的应用愿意,您无法避免闲置时间睡眠。

   [[UIApplication sharedApplication] setIdleTimerDisabled:YES];

以下是有关iOS中背景执行的更多信息:

enter image description here

More: