Closed3
[SwiftUI] バックグラウンド状態・フォアグラウンド状態の遷移を検知したい
以下のコードを書いたが、特定の状況だと動作しない?
@Environment(\.scenePhase) private var scenePhase
.onChange(of: scenePhase) { phase in
switch phase {
case .active:
print("active")
case .inactive:
print("inactive")
case .background:
print("background")
@unknown default:
print("unknown")
}
}
前提
- Xcode 12.5
- iOS 14.5
- AppDelegate あり
- Storyboard / IB
- SwiftUI
SwiftUI のView でNSNotification を購読することで、やりたかったことは実現できた。
.onReceive(NotificationCenter.default.publisher(for: UIApplication.didBecomeActiveNotification)) { notification in
// TODO: 任意の処理
}
参考
このスクラップは2021/05/18にクローズされました