はじめに
Xcode11が出たので、iOS13のScene-Basedライフサイクルの調べました。
iOS12までは、アプリライフサイクル(AppDelegate)でしたが、iOS13からは、Scene-Basedライフサイクル(UISceneDelegate)が使えるようになりました。Xcode11に実装して動きを調べてみたので、図にしてみました。
Scene-Basedライフサイクル(ios13以降)
大きな考え方は、ios12のApp-Basedライフサイクルとそれほど変わらなさそうです。
以下の図の赤色部分は、AppDelegateのメソッド、黒色の部分は、SceneDelegateのメソッドです。
フォアグランドに遷移する時には、以下のメソッドが呼ばれます。
- func sceneWillEnterForeground(UIScene)
- func sceneDidBecomeActive(UIScene)
バックグランドに遷移する時には、以下のメソッドが呼ばれます。
- func sceneWillResignActive(UIScene)
- func sceneDidEnterBackground(UIScene)
App-Basedライフサイクル(参考)
参考文献
-
アプリフォアグランド移行時の実装(Preparing Your UI to Run in the Foreground)
-
[アプリバックグランド移行時の実装(Preparing Your UI to Run in the Background)]
(https://developer.apple.com/documentation/uikit/app_and_environment/scenes/preparing_your_ui_to_run_in_the_background)