アプリケーションのライフサイクル
アプリの状態、AppDelegate、SceneDelegate、background modes、アプリの終了
1UIApplicationDelegateとは何ですか?
UIApplicationDelegateとは何ですか?
回答
UIApplicationDelegateは、アプリケーションのライフサイクルのコールバックメソッドを定義するプロトコルです。起動、バックグラウンドへの移行、フォアグラウンドへの遷移などの重要なイベントに応答できます。すべてのiOSアプリケーションは、ライフサイクルを正しく管理するために、AppDelegateクラスでこのプロトコルを実装する必要があります。サードパーティサービスの初期化、通知の設定、グローバルな状態遷移の管理を行う中心的なポイントです。iOS 13以降、このプロトコルは複数のウィンドウを管理するためにSceneDelegateと責務を分担します。
2application(_:didFinishLaunchingWithOptions:)メソッドはいつ呼び出されますか?
application(_:didFinishLaunchingWithOptions:)メソッドはいつ呼び出されますか?
回答
このメソッドは、UIApplicationの初期化後、ユーザーインターフェースが表示される前の、アプリケーションの起動時に呼び出されます。サードパーティサービスの初期化、データベースの設定、通知の登録、グローバルパラメータの設定に最適なタイミングです。初期表示が遅れるため、長い処理は避けるべきです。
3iOSアプリケーションのライフサイクルにおける主な状態は何ですか?
iOSアプリケーションのライフサイクルにおける主な状態は何ですか?
回答
ライフサイクルには5つの主要な状態があります。Not Running(アプリが起動していない、または終了した)、Inactive(アプリはフォアグラウンドにあるがイベントを受け取っていない、一時的な中断)、Active(アプリが正常に動作しイベントを受け取っている)、Background(アプリがバックグラウンドで実行され、サスペンドまで約30秒)、Suspended(アプリがメモリ内で凍結され、実行されていない)です。これらの状態を理解することで、リソース、権限を適切に管理し、バッテリーを最適化できます。これらの状態間の遷移により、AppDelegateまたはSceneDelegateのメソッドが呼び出されます。
applicationWillResignActiveとapplicationDidEnterBackgroundの違いは何ですか?
applicationDidBecomeActiveの役割は何ですか?
+17 面接問題