Я пытаюсь реализовать блокировку экрана в приложении SwiftUI.
Мне нужно отслеживать каждое событие, чтобы перезапустить таймер блокировки.
В приложении UIKit я использовал этот подход - переопределение UIApplication, что позволяет быть в курсе любого события в приложении:
override func sendEvent(_ event: UIEvent) {
super.sendEvent(event)
switch event.type {
case .touches:
// Post Notification or Delegate here
default:
break
}
}
Но в SwiftUI он больше не поддерживается. Я пытался добавить
.onTapGesture {}
в корневой ContentView, но он работает не так, как ожидалось.
Есть ли способ избежать добавления
.onTapGesture {}
для каждого просмотра в приложении?