SceneStorage

SwiftUI

【SwiftUI】SceneStorageのデバッグの際の注意事項(SceneStorageが保存されない)

SceneStorageをデバッグする際は注意が必要です。デバッガを使用すると通常の実行時よりセッションが切れやすくなっています。セッションが維持されなければSceneStorageが保存されないので気をつけましょう。 デバッグの手順 手順...
SwiftUI

【SwiftUI】NavigationStackで画面遷移を維持する(NavigationPathをSceneStorage等で保存する)

NavigationStackで画面遷移状態を保持し、アプリを起動し直してもセッションが残っていれば元の画面を表示できるようにする方法です。NavigationPathのデータをSceneStorageに保存し、起動時にリストアします。 注...
SwiftUI

【SwiftUI】toolbar(bottomBar)が空白として残る場合の対処法(暫定)

SwiftUIのtoolbarは基本的に画面遷移すると消えるのですが、NavigationLinkで遷移してもtoolbarのスペースが空白として残るケースに遭遇しました。 直接的な原因と解決法が分からなかった為、暫定的な解決方法を紹介しま...
SwiftUI

【SwiftUI】NavigationViewが上手く画面遷移しない時の対応

SwiftUIではNavigationViewでの画面遷移がよく行われます。この画面遷移はユーザーの操作だけではなくコード側から行う事ができ、SceneStrageでの状態維持やDeepLinkでの起動時などにも使用します。 この画面遷移動...
SwiftUI

【SwiftUI】ローカル通知と通知からのアプリ起動(DeepLink)

SwiftUIアプリでローカル通知を出し、通知から起動後に自動で画面遷移を行います。通知はバックグラウンドとフォアグラウンドに対応、アプリは起動済みにも未起動にも対応しています。 特にアプリ未起動時の通知からの起動は、AppDelegate...
SwiftUI

【SwiftUI】SceneStorageで画面遷移状態の維持

SceneStorageで画面遷移状態の維持が簡単に出来ます。Appleのアプリ状態の維持に関するドキュメントとサンプルはこちら。 そのままだと結構色々やってあるので、今回はNavigationLinkだけ抜き出して最小限の構成で紹介します...