Pracuję nad aplikacją, która nie wymaga wprowadzania danych przez użytkownika, ale nie chcę, aby iPhone przechodził w tryb oszczędzania energii.
Czy można wyłączyć oszczędzanie energii w aplikacji?
Pracuję nad aplikacją, która nie wymaga wprowadzania danych przez użytkownika, ale nie chcę, aby iPhone przechodził w tryb oszczędzania energii.
Czy można wyłączyć oszczędzanie energii w aplikacji?
Odpowiedzi:
Cel C
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
Szybki
UIApplication.shared.isIdleTimerDisabled = true
[[UIApplication sharedApplication] setIdleTimerDisabled:NO];
gdy widok zniknie.
[[UIApplication sharedApplication] setIdleTimerDisabled:NO];
W szybkich można wykorzystać jako
UIApplication.sharedApplication().idleTimerDisabled = true
Swift 3:
UIApplication.shared.isIdleTimerDisabled = true
Umieściłem tę linię kodu w moim kontrolerze widoku, ale klienci wciąż mówią, że ekran zostanie przyciemniony lub wyłączony, dopóki ktoś nie dotknie ekranu. Widziałem inne posty, w których nie tylko ustawiasz programowo
UIApplication.sharedApplication().idleTimerDisabled = true
na true, ale najpierw musisz zresetować ją na false
UIApplication.sharedApplication().idleTimerDisabled = false
UIApplication.sharedApplication().idleTimerDisabled = true
Niestety to nadal nie działało, a klienci wciąż otrzymują przyciemnione ekrany. Mamy profil Apple Configurator zapobiegający zasypianiu urządzenia, a mimo to ekran niektórych urządzeń gaśnie, a klient musi nacisnąć przycisk home, aby wybudzić ekran. Teraz umieściłem ten kod w zegarze, który odpala co 2,5 godziny, aby zresetować licznik czasu bezczynności, mam nadzieję, że to zadziała.
Mieliśmy ten sam problem. Okazało się, że jest to nieuczciwy proces na naszym serwerze MDM, który został usunięty z naszego konta, ale na serwerze nadal wysyłał polecenie przyciemnienia naszych urządzeń.