카운트 다운이 끝날 때까지 깨어 있어야하는 앱이 있지만 할당 된 수면 시간에 도달 할 때마다 '수면 모드'로 전환됩니다.
내 앱에는 수면을 연기하는 옵션이 있으므로 사용자가 비활성화 / 활성화 할 수 있습니다.
프로그래밍 방식으로 어떻게합니까?
카운트 다운이 끝날 때까지 깨어 있어야하는 앱이 있지만 할당 된 수면 시간에 도달 할 때마다 '수면 모드'로 전환됩니다.
내 앱에는 수면을 연기하는 옵션이 있으므로 사용자가 비활성화 / 활성화 할 수 있습니다.
프로그래밍 방식으로 어떻게합니까?
답변:
다음과 같이 유휴 타이머를 비활성화 할 수 있습니다.
Objective-C에서 :
[UIApplication sharedApplication].idleTimerDisabled = YES;
스위프트에서 :
UIApplication.sharedApplication().idleTimerDisabled = true
Swift 3.0 및 Swift 4.0에서 :
UIApplication.shared.isIdleTimerDisabled = true
절전 모드로 다시 설정 NO하거나 false다시 활성화하십시오.
예를 들어,보기를 종료 할 때까지 필요한 경우 viewWillDisappear를 재정 의하여 다시 설정할 수 있습니다.
override func viewWillDisappear(_ animated: Bool) {
UIApplication.shared.isIdleTimerDisabled = false
}
에 대한 자세한 UIApplication 클래스 .
[UIApplication sharedApplication]을 참조 하여 단지 응용 프로그램의 UIApplication 객체입니다.
Swift 3 에서이 작업을 수행 할 수있는 정확한 위치 -func 내부 AppDelegate.swift를 추가해야 결과가 다음과 같이 표시됩니다.UIApplication.shared.isIdleTimerDisabled = trueapplication
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.isIdleTimerDisabled = true
return true
}