Xcode11では、このUIScene APIのライフサイクルを使用したものが、デフォルトテンプレートに採用されています。現時点では、UIApplicationベースでも問題ないものの、UIApplicationのUIに関するメソッドも非推奨(Deprecated)となっていることから、今後このシーンの使用が一般的になると思われます。現時点でのメモを共有したいと思います。
UISceneとは
iOS12 でのアプリケーションのプロセスは1つで、それに対するUIインスタンス(ウインドウ)も1つでした1。iOS13(UIScene)以後のアプリケーションのプロセスは1つで、それに対するUIインスタンス(ウインドウ)は複数です。マルチウインドウと言います。開発者視点では、そのウインドウをシーンと呼びます。UIScene API とは、ひとまずアプリをマルチウインドウ(マルチシーン)に対応するAPIと言えそうです。
ユーザーによるマルチウインドウ(マルチシーン)の起動方法
iOS13でマルチウインドウ対応をしたアプリは、iPadで単独のアプリから複数のウインドウを起動し表示することが可能になります。
システムにより提供された方法
iOS9から導入されているiPadのマルチタスク機能「Split View」「Slide Over」です。
| Split View | Slide Over |
|---|---|
![]() |
