Wie kann ich die Bildschirmsperre nur bei Verwendung der Navigation verhindern?
Waze hat die Möglichkeit, dies zu tun. Wie kann ich dies in meiner App tun?
Wie kann ich die Bildschirmsperre nur bei Verwendung der Navigation verhindern?
Waze hat die Möglichkeit, dies zu tun. Wie kann ich dies in meiner App tun?
Antworten:
Benutze das:
Ziel c:
[[UIApplication sharedApplication] setIdleTimerDisabled: YES];
Swift (Vermächtnis):
UIApplication.sharedApplication().idleTimerDisabled = true
Swift 3 und höher:
UIApplication.shared.isIdleTimerDisabled = true
Stellen Sie sicher, dass Sie importieren UIKit
.
Hier ist der Link zur Dokumentation von apple.developer.com.
UIApplication.shared.idleTimerDisabled = true
UIApplication.shared.isIdleTimerDisabled = true
Für Swift 3.0 gibt es zwei Optionen, je nachdem, wo Sie den Code aufrufen möchten:
In AppDelegate.swift:
application.idleTimerDisabled = true
Außerhalb von AppDelegate.swift:
UIApplication.shared().isIdleTimerDisabled = true
UIApplication.shared.isIdleTimerDisabled = false
Wenn Sie einen fortgeschritteneren Fall haben, können Sie unser kleines Projekt verwenden: ScreenSleepManager oder wenn es sich nur um bestimmte ViewController handelt - verwenden Sie Insomnia, wie bereits erwähnt. Der manuelle Umgang mit idleTimerDisabled
mir verursachte fast immer einige Probleme (z. B. vergessen, auf false zurückzusetzen oder mehrere (verschachtelte) Module zu behandeln, die versuchen, ihn einzustellen).
UIApplication.sharedApplication().idleTimerDisabled = true