Bagaimana mencegah kunci layar pada aplikasi saya dengan swift di iOS


113

Bagaimana cara mencegah kunci layar hanya saat menggunakan Navigasi?

Waze memiliki opsi untuk melakukannya, bagaimana cara melakukannya di Aplikasi saya?

Jawaban:


241

Gunakan ini:

Objective-C:

[[UIApplication sharedApplication] setIdleTimerDisabled: YES];

Swift (warisan):

UIApplication.sharedApplication().idleTimerDisabled = true

Swift 3 ke atas:

UIApplication.shared.isIdleTimerDisabled = true

Pastikan untuk mengimpor UIKit.

Berikut ini tautan ke dokumentasi dari apple.developer.com.


4
Swift seharusnyaUIApplication.sharedApplication().idleTimerDisabled = true
Doug

3
Swift 3:UIApplication.shared.idleTimerDisabled = true
funkenstrahlen

2
Ini berubah menjadiUIApplication.shared.isIdleTimerDisabled = true
Lucas Farah

1
di mana menambahkan baris ini? Saya tidak memiliki AppDelegate.swift karena saya menggunakan react-native
Pradnyan dan Milind Pohare

@PradnyanandMilindPohare Anda dapat menambahkannya di mana pun Anda mau, cukup pastikan baris ini dijalankan
Mellao

20

Untuk Swift 3.0 berikut adalah dua opsi tergantung di mana Anda ingin memanggil kode:

Di dalam AppDelegate.swift:

application.idleTimerDisabled = true

Di luar AppDelegate.swift:

UIApplication.shared().isIdleTimerDisabled = true


2
Kode luar AppDelegate.swift harus seperti:UIApplication.shared.isIdleTimerDisabled = false
DevStarlight

13

Cepat 4

di file AppDelegate.swift, tambahkan baris berikut di dalam fungsi aplikasi :

    application.isIdleTimerDisabled = true

6

Anda dapat menggunakan Insomnia lib kecil saya (Swift 3, iOS 9+) - fitur bagus lainnya adalah Anda dapat mencegah tidur hanya saat mengisi daya.

The idleTimerDisabledsoultion baik-baik saja tetapi Anda harus ingat untuk mengaturnya untuk falsesesudahnya.


0

Jika Anda memiliki kasus yang lebih maju, Anda dapat menggunakan proyek kecil kami: ScreenSleepManager atau jika itu hanya tentang ViewControllers tertentu - gunakan Insomnia seperti yang disebutkan sebelumnya. idleTimerDisabledMenangani secara manual hampir selalu menyebabkan saya beberapa masalah (seperti lupa mengatur ulang ke salah atau menangani beberapa modul (bersarang) yang mencoba mengaturnya).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.