Swift UIApplication.shared.windowsはiOS15から非推奨になるので、使わないようにしたい

Swift Swift
Swift

SwiftでiOSアプリを開発している際に、Windowを取得したい時があります。
その際に、下記の記述で取得できる事を紹介している情報をよく見ますが、iOS15では非推奨になるようなので、使わないでおきたいな・・・という紹介です。

let windows = UIApplication.shared.windows

最近のiOSでは複数のWindowを表示する事ができます。
現在有効になっているWindowを取得するには上記のやり方でいけたのですが、非推奨になるとの事で・・・

すぐに廃止とかではないと思いますが、いずれ廃止されるのだろうと思います。
なので、これから書くコードには下記の記述が良いと思われます。

let scenes = UIApplication.shared.connectedScenes.first as? UIWindowScene
let windows = scenes?.windows

Sceneが1つしかない状態であれば、上記コードでSceneに接続されているWindowの取得がができます。
ViewControllerから取得するのなら・・・

self.view.window?.windowScene

などの方法に切り替えておいた方が良さそうです。

コメント

タイトルとURLをコピーしました