iOS アプリのライフサイクル

May 10 2023
⭐ アプリの起動時 アプリが最初にタップされて起動されたときに AppDelegate が呼び出される順序。func application(_:willFinishLaunchingWithOptions) func application(_:didFinishLaunchingWithOptions:) func applicationDid becomeActive(UIApplication) ⭐ バックグラウンド アプリ これは、アプリがバックグラウンドに移動されるときに AppDelegate が呼び出される順序です。

⭐アプリ起動時

アプリが最初にタップされて起動されたときに AppDelegate が呼び出される順序。

func application(_:willFinishLaunchingWithOptions)

func application(_:didFinishLaunchingWithOptions:)

func applicationDid becomeActive(UIApplication)

⭐バックグラウンドアプリ

これは、アプリがバックグラウンドに移動されるときに AppDelegate が呼び出される順序です。

func applicationWillResignActive(UIApplication)

func applicationDidEnterBackground(UIApplication)

アプリがバックグラウンドにあるときにアプリのアイコンを押します

アプリがバックグラウンドにあるときにアプリのアイコンを押すと、アプリはフォアグラウンドに遷移します。これは、現時点で AppDelegate が呼び出される順序です。

func applicationWillEnterForeground(UIApplication)

func applicationDid becomeActive(UIApplication)

アプリ終了時

アプリケーションの終了時に AppDelegate が呼び出される順序。

func applicationWillResignActive(UIApplication)

func applicationDidEnterBackground(UIApplication)

func applicationWillTerminate(UIApplication)

⭐UniversalLinkで起動した場合

アプリが起動していない場合(Not Running)

これは、アプリが実行されていない (実行されていない) ときに、ユニバーサル リンクを使用してアプリが起動されるときに、AppDelegate メソッドが呼び出される順序です。

func application(_:willFinishLaunchingWithOptions)

func application(_:didFinishLaunchingWithOptions:)

func application(_:Continue:restorationHandler:)

func applicationDid becomeActive(UIApplication)

アプリがバックグラウンドの場合(バックグラウンド)

これは、アプリがバックグラウンド状態 (Background) にあるときにユニバーサル リンクを使用してアプリが起動されるときに、AppDelegate メソッドが呼び出される順序です。

func applicationWillEnterForeground(UIApplication)

func application(_:Continue:restorationHandler:)

func applicationDid becomeActive(UIApplication)

⭐通知をタップして起動した場合

アプリが起動していない場合(Not Running)

アプリが実行されていないとき (Not Running)、通知からアプリを開始するときに AppDelegate メソッドが呼び出される順序。

func application(_:willFinishLaunchingWithOptions)

func application(_:didFinishLaunchingWithOptions:)

func userNotificationCenter(_:didReceive:withCompletionHandler:)

func applicationDid becomeActive(UIApplication)

アプリがバックグラウンドの場合(バックグラウンド)

アプリがバックグラウンドにあるときに通知からアプリが起動されるときに、AppDelegate メソッドが呼び出される順序。

func applicationWillEnterForeground(UIApplication)

func userNotificationCenter(_:didReceive:withCompletionHandler:)

func applicationDid becomeActive(UIApplication)

アプリ起動時(フォアグラウンド)

アプリがフォアグラウンドにあるときに通知がタップされると、次のメソッドが呼び出されます。

userNotificationCenter(_:willPresent:withCompletionHandler:)

⭐ アプリの現在の状態を取得する方法

アプリの現在の状態 UIApplication.shared.applicationState は、active、inactive、.background の 3 つの状態が定義されています UIApplication.shared.applicationStateで取得できます。

参考文献

  • アプリのライフサイクルを管理する
  • Apple リファレンス アプリケーション(_:Continue:restorationHandler:)
  • Apple リファレンス UI アプリケーション
  • Apple リファレンス UIApplication.State