Avatar
Avatar
tsuruaya
初めて質問します。 画面横断で、エラー検知時にポップアップを出す方法について教えていただきたいです。 ・やりたいこと 画面に依存しない形で、実行している処理 (API実行)について、 エラーを検知したタイミングで、ポップアップのエラーを表示する(どの画面にいても表示される) 上記について、 自分では「アプリの全画面のコードに、エラー検知&ポップアップ表示の処理を愚直に仕込む」方法しか思いつかなかったので、もし他に効率的な方法や便利なライブラリありましたら知りたいです。 SwiftUIを使っていますが、UIKitでのやり方でもよいので参考にさせていただきたいです。どうぞよろしくお願いします。
もっと良い方法があるかも(&何か問題があるかも)しれませんが、 UIWindow をとっておいて、その rootViewController を経由して表示するなどできると思います(経由してというのは、たとえばそれが UINavigationController であれば、さらに topViewController を取得するなどした方が良いかもしれません。ただ、とりあえず SwiftUI かつアラートを出す程度であれば、僕のアプリの構造(根っこで UIWindow を捕まえて↓の方法で保持し、 UIHostingController の中に NavigationView が入っている)の範囲内では UIWindowrootViewController を使って UIAlertControllerpresent するので動いています)。 なお、僕は SwiftUI で UIWindow を保持するのは↓の方法を採用しています。 https://qiita.com/shiz/items/3b829b1521f9723aa875 (edited)
iOS13で変わったこと iOS13以降ではiOSアプリでもマルチウィンドウで使えるようになり アプリの起動経路が変わりました。 ※ マルチウィンドウ自体はオプトインの仕組みで ONにするにはinfo.plistのUIAppl...