以下代码行阻止应用在一些空闲时间后自动锁定屏幕。
[UIApplication sharedApplication].idleTimerDisabled = YES; //write this in applicationDidFinishLaunching
直到iOS 5.0才能正常运行。 但iOS 5.1不尊重此行并在一些空闲时间后锁定屏幕。 如何解决这个恼人的问题?
感谢。
修改
当它安装在5.0.1设备中时,相同的代码工作正常。但我不知道它为什么不能使用5.1设备。
答案 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