禁用iOS 5.1中的自动屏幕锁定

时间:2012-03-28 09:06:19

标签: iphone ios ios5.1

以下代码行阻止应用在一些空闲时间后自动锁定屏幕。

[UIApplication sharedApplication].idleTimerDisabled = YES; //write this in applicationDidFinishLaunching

直到iOS 5.0才能正常运行。 但iOS 5.1不尊重此行并在一些空闲时间后锁定屏幕。 如何解决这个恼人的问题?

感谢。

修改

当它安装在5.0.1设备中时,相同的代码工作正常。但我不知道它为什么不能使用5.1设备。

7 个答案:

答案 0 :(得分:25)

[[UIApplication sharedApplication] setIdleTimerDisabled: YES];

在iOS 5.1上为我工作

答案 1 :(得分:24)

只需在

中设置[UIApplication sharedApplication].idleTimerDisabled = YES;即可
- (BOOL) application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions

适合我。但是,有一个警告。我注意到每次调用相机实用程序拍摄快照时, idleTimerDisable 都会在场景后面设置为 NO 。因此,在我上传图像后,我不得不再次调用以下代码行:

[UIApplication sharedApplication].idleTimerDisabled = YES;

如果有更多的地方需要相同的策略,我不会感到惊讶。到目前为止,这种方法对我没有任何问题。

答案 2 :(得分:5)

不,应该没有区别。也许你有另一个错误..
iOS 5.0 to 5.1 API Diffs

答案 3 :(得分:3)

  

重要事项:您应该仅在必要时设置此属性,并且当需要不再存在时,应确保将其重置为NO。最   应用程序应该让系统在空闲时关闭屏幕   计时器过去了。这包括音频应用程序。适当使用   音频会话服务,播放和录制继续进行   屏幕关闭时不间断。唯一的应用程序   应该禁用空闲计时器映射应用程序,游戏,或   具有零星用户交互的类似程序。

也许你超过了醒着的允许时限?

答案 4 :(得分:1)

我知道它已经老了,但我发现这很好,在Swift你可以看起来像这样

sudo chmod 644 my.cnf sudo pico my.cnf

谢谢你的回答!我现在正在使用xcode 7 Beta 3(Swift 2)

答案 5 :(得分:0)

如果您的应用程序已注册某些后台任务,例如GPS位置更新,则可以正常工作。

答案 6 :(得分:0)

对于Swift,我在委托之外使用它:

    UIApplication.sharedApplication().idleTimerDisabled = true