I want to change isIdleTimerDisabled when a specific view appears. In SwiftUI I use
.onAppear {
UIApplication.shared.isIdleTimerDisabled = true
}
.onDisappear {
UIApplication.shared.isIdleTimerDisabled = false
}
but even with import UIKit
I get the warning
Cannot find 'UIApplication' in scope
How can I fix that? I didn't find a solution after searching for more than an hour.
You should not need to import UIKit
, it should work with SwiftUI
.
The problem may be your target. Is the file used only on an iOS or iPadOS application target?
Or is it also used, for instance, in an extension, like ShareExtension, and so on?
If it is, you cannot access UIApplication
within your code. If this code is shared between extensions and app, you should use conditional compilation to avoid this problem.