Swift UIApplicationの確立、isIdleTimerDisabledの設定位置
UIApplicationのisIdleTimerDisabledの設定位置を誤って反映出来なかった。
UIApplicationが確立するタイミングがある。
図の①のタイミングではダメ。②のタイミングなら大丈夫。
import SwiftUI
@main
struct ExampleAutoLockApp: App {
var dataModel = DataModel()
var body: some Scene {
WindowGroup {
ContentView()
// .environmentObject(self.dataModel)
.environmentObject(DataModel())
}
}
}
import Foundation
import UIKit
final class DataModel: ObservableObject {
init() {
print(#function)
print("befor UIApplication.shared.isIdleTimerDisabled:\(UIApplication.shared.isIdleTimerDisabled)")
UIApplication.shared.isIdleTimerDisabled = !UIApplication.shared.isIdleTimerDisabled
print("after UIApplication.shared.isIdleTimerDisabled:\(UIApplication.shared.isIdleTimerDisabled)")
}
}






