ปิด Auto-Lock (Idle Timer) ในแอป iOS ด้วยโค้ด 1 บรรทัด
โค้ดสั้นๆ
override func viewDidLoad() {
super.viewDidLoad()
UIApplication.shared.isIdleTimerDisabled = true
}
คำอธิบาย
isIdleTimerDisabled = true: ป้องกันไม่ให้อุปกรณ์เข้าสู่ Sleep Mode
- ใช้ใน: Navigation Apps, Video Players, Kiosk Mode, Games, Reading Apps
- ⚠️ ใช้ให้หมดจังหวะ: กินแบตเตอรี่มาก, อาจทำให้หน้าจอ Burn-in (OLED)
Best Practice: เปิด/ปิดตาม Context
// เปิดเมื่อเข้าหน้าจอที่ต้องการ (Video Player, Map Navigation)
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
UIApplication.shared.isIdleTimerDisabled = true
}
// ปิดเมื่อออกจากหน้าจอ
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.shared.isIdleTimerDisabled = false
}
ข้อควรระวัง
- ต้องตั้งค่ากลับเป็น
false เมื่อไม่ต้องการแล้ว (Good Citizen)
- Apple อาจ Reject App ที่ปิด Idle Timer ตลอดเวลาโดยไม่มีเหตุผล
- User ยังสามารถ Lock หน้าจอได้ด้วย Power Button (Force Lock)