Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
了解iPhone应用程序背景状态_Iphone_Xcode_Background_States - Fatal编程技术网

了解iPhone应用程序背景状态

了解iPhone应用程序背景状态,iphone,xcode,background,states,Iphone,Xcode,Background,States,我有一个棘手的问题。在我的应用程序中,用户可以更改是否希望应用程序在后台运行。如果是-它应该工作,直到用户杀死它。若并没有-它应该工作,直到用户按下主页按钮,并应工作后锁定屏幕顶部按钮 所以,plist文件中有一行名为“应用程序不在后台运行”。如果我让它“是”-应用程序运行,直到按下主页按钮,并仍然在锁定屏幕后工作。完美的如果我让它“不”-应用程序一直运行,直到我杀死它。太好了 但我猜你不能从应用程序中更改plist值。我找到了一种使用ApplicationIdentinterBackgroun

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

所以,plist文件中有一行名为“应用程序不在后台运行”。如果我让它“是”-应用程序运行,直到按下主页按钮,并仍然在锁定屏幕后工作。完美的如果我让它“不”-应用程序一直运行,直到我杀死它。太好了

但我猜你不能从应用程序中更改plist值。我找到了一种使用ApplicationIdentinterBackground实现这一点的方法:

if (userDontWantItRunInBackground) { exit(0); }
但这有一个问题(除了苹果不推荐):


这毫无意义!这不允许我让应用程序在锁定的屏幕上运行

在iOS 4中,如果你的应用程序愿意,你无法避免空闲时间睡眠

   [[UIApplication sharedApplication] setIdleTimerDisabled:YES];
以下是有关iOS中后台执行的更多信息:

   [[UIApplication sharedApplication] setIdleTimerDisabled:YES];