ฉันจะป้องกันการล็อกหน้าจอเฉพาะเมื่อใช้การนำทางได้อย่างไร
Waze มีตัวเลือกให้ทำในแอพได้อย่างไร
ฉันจะป้องกันการล็อกหน้าจอเฉพาะเมื่อใช้การนำทางได้อย่างไร
Waze มีตัวเลือกให้ทำในแอพได้อย่างไร
คำตอบ:
ใช้สิ่งนี้:
วัตถุประสงค์ -C:
[[UIApplication sharedApplication] setIdleTimerDisabled: YES];
Swift (มรดก):
UIApplication.sharedApplication().idleTimerDisabled = true
Swift 3 ขึ้นไป:
UIApplication.shared.isIdleTimerDisabled = true
UIKit
ให้แน่ใจว่าจะนำเข้า
นี่คือลิงค์ไปยังเอกสารจาก apple.developer.com
UIApplication.shared.idleTimerDisabled = true
UIApplication.shared.isIdleTimerDisabled = true
สำหรับ Swift 3.0 มีสองตัวเลือกขึ้นอยู่กับตำแหน่งที่คุณต้องการเรียกใช้รหัส:
ภายใน AppDelegate.swift:
application.idleTimerDisabled = true
ภายนอก AppDelegate.swift:
UIApplication.shared().isIdleTimerDisabled = true
UIApplication.shared.isIdleTimerDisabled = false
สวิฟต์ 4
ในไฟล์ AppDelegate.swift ให้เพิ่มบรรทัดต่อไปนี้ภายในฟังก์ชันแอปพลิเคชัน :
application.isIdleTimerDisabled = true
คุณสามารถใช้ lib Insomniaตัวน้อยของฉัน(Swift 3, iOS 9+) - อีกหนึ่งคุณสมบัติที่ดีคือคุณสามารถป้องกันไม่ให้นอนหลับเมื่อชาร์จเท่านั้น
idleTimerDisabled
soultion ไม่เป็นไร แต่คุณต้องจำไว้ว่าจะตั้งค่าให้false
หลังจากนั้น
หากคุณมีเคสขั้นสูงคุณสามารถใช้โปรเจ็กต์ขนาดเล็กของเรา: ScreenSleepManagerหรือถ้าเป็นเพียงViewControllersเฉพาะให้ใช้Insomniaตามที่ระบุไว้ก่อนหน้านี้ การจัดการด้วยตนเองidleTimerDisabled
เกือบตลอดเวลาทำให้ฉันเกิดปัญหาบางอย่าง (เช่นลืมตั้งค่าใหม่เป็นเท็จหรือจัดการโมดูล (ซ้อนกัน) หลายโมดูลที่พยายามตั้งค่า)
UIApplication.sharedApplication().idleTimerDisabled = true