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
などの方法に切り替えておいた方が良さそうです。
コメント