何をやるのか?
今回はSwiftUIでフォアグラウンド、バックグラウンドの検知する方法を紹介してきたいと思います。
この記事を投稿しようと思った経緯としては、ViewModifierのonAppearではフォアグラウンド時の検知ができなかったため、備忘録として残しておこうといった感じです。
ScenePhaseでアプリの動作状態の検知
struct ContentView: View {
@Environment(\.scenePhase) var scenePhase
var body: some View {
Text("Hello, World!")
.onChange(of: scenePhase) { newPhase in
switch newPhase {
case .inactive:
print("フォアグラウンドだが、動作停止時")
case .active:
print("フォアグラウンド時")
case .background:
print("バックグラウンド時")
}
}
}
}
参考文献
https://developer.apple.com/documentation/swiftui/scenephase
https://stackoverflow.com/questions/63423845/swiftui-onappear-only-running-once