Keep iphone active while running program
Keep iphone active while running program
how to set iPhone device to stay active ( to not lock ) while my app is running ?
Any idea
3 Answers
3
This code will prevent your iPhone from going to sleep while your app is running
// avoid sleeping when this application is running
UIApplication *application = [UIApplication sharedApplication];
application.idleTimerDisabled = YES;
// Or simpler
[[UIApplication sharedApplication] setIdleTimerDisabled: YES];
application
[UIApplication sharedApplication].idleTimerDisabled = YES;
I'm not sure if this prevents the device from locking, but you can prevent the screen from dimming with the UIApplication
's idleTimerDisabled
property:
UIApplication
idleTimerDisabled
[UIApplication sharedApplication].idleTimerDisabled = YES;
From the documentation:
Important: You should set this property only if necessary and should be sure to reset it to NO when the need no longer exists. Most applications should let the system turn off the screen when the idle timer elapses. This includes audio applications. With appropriate use of Audio Session Services, playback and recording proceed uninterrupted when the screen turns off. The only applications that should disable the idle timer are mapping applications, games, or similar programs with sporadic user interaction.
If you landed here looking for an answer in Swift, it's this:
UIApplication.sharedApplication().idleTimerDisabled = true
for Swift 3
UIApplication.shared.isIdleTimerDisabled = true
The warning in this comment still applies.
Swift 3:
UIApplication.shared.isIdleTimerDisabled = true
– Jonny
Mar 23 '17 at 4:50
UIApplication.shared.isIdleTimerDisabled = true
Thanks for contributing an answer to Stack Overflow!
But avoid …
To learn more, see our tips on writing great answers.
Required, but never shown
Required, but never shown
By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.
Note to anyone reading this accepted answer: this will only work if you have an
application
object already, which isn't common. Instead, you should use[UIApplication sharedApplication].idleTimerDisabled = YES;
– TwoStraws
Dec 14 '15 at 9:14