2012-09-30 22 views

Odpowiedz

314

Można wyłączyć licznik czasu bezczynności w następujący sposób;

w Objective-C:

[UIApplication sharedApplication].idleTimerDisabled = YES; 

W SWIFT:

UIApplication.sharedApplication().idleTimerDisabled = true 

w Swift 3.0 & Swift 4.0:

UIApplication.shared.isIdleTimerDisabled = true 

ustawić ją z powrotem do NO lub false do ponownego włączyć tryb uśpienia.

Na przykład, jeśli jest to potrzebne, aż stamtąd wyjdziecie pogląd można ustawić go poprzez nadpisanie viewWillDisappear:

override func viewWillDisappear(_ animated: Bool) { 
    UIApplication.shared.isIdleTimerDisabled = false 
} 

Więcej o UIApplication Class.

+1

to działa dla Apple Obserwować? – Gati

+0

@ Gati Wątpię, ale nie mogę potwierdzić, ponieważ nie mam zegarka – jrturton

+1

@jrturton Hmm .. To nie działa w Apple Watch. Jeśli masz jakieś rozwiązanie, daj mi znać. – Gati

14

w Swift 3, aby wyłączyć bezczynności stoper jest teraz:

UIApplication.shared.isIdleTimerDisabled = true 

Aby włączyć bezczynności stoper z powrotem na nim jest po prostu:

UIApplication.shared.isIdleTimerDisabled = false 

Dodatkowo należy pamiętać, że YES i NO są niedostępne w Swift i musisz użyć albo true lub false (w przeciwieństwie do poprzedniej odpowiedzi).

-3

w Swift 3 dokładną lokalizację, gdzie można to zrobić jest AppDelegate.swift - należy dodać UIApplication.shared.isIdleTimerDisabled = true wewnątrz application func więc wynik będzie wyglądać następująco:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    UIApplication.shared.isIdleTimerDisabled = true 
    return true 
} 
+0

To nie jest uzależnione od AppDelegate. W rzeczywistości uważałbym za złą praktykę utrzymywanie urządzenia w stanie uśpienia bez prawdziwego powodu. Pytanie dotyczyło trzymania urządzenia w stanie czuwania podczas określonej funkcji (do końca odliczania). Dlatego wyłączenie licznika czasu bezczynności, gdy rozpoczyna się odliczanie, umożliwia ponowne włączenie go po zakończeniu odliczania. – Cyrus

+0

@Cyrus Nie jestem szybkim programistą. obecnie robię aplikację do przeglądania stron internetowych i wypróbowałem wiele rozwiązań bez dokładnych instrukcji i to nie działało dla mnie, ale TO DZIAŁA.więc opublikuję to, aby podzielić się z innymi, którzy będą szukać podobnego rozwiązania. powód do tego - moja aplikacja to pomocnik gitary, który zawsze musi budzić się podczas gry – godblessstrawberry

Powiązane problemy