iOS

アプリケーションのライフサイクル

アプリの状態、AppDelegate、SceneDelegate、background modes、アプリの終了

20 面接問題·
Junior
1

UIApplicationDelegateとは何ですか?

回答

UIApplicationDelegateは、アプリケーションのライフサイクルのコールバックメソッドを定義するプロトコルです。起動、バックグラウンドへの移行、フォアグラウンドへの遷移などの重要なイベントに応答できます。すべてのiOSアプリケーションは、ライフサイクルを正しく管理するために、AppDelegateクラスでこのプロトコルを実装する必要があります。サードパーティサービスの初期化、通知の設定、グローバルな状態遷移の管理を行う中心的なポイントです。iOS 13以降、このプロトコルは複数のウィンドウを管理するためにSceneDelegateと責務を分担します。

2

application(_:didFinishLaunchingWithOptions:)メソッドはいつ呼び出されますか?

回答

このメソッドは、UIApplicationの初期化後、ユーザーインターフェースが表示される前の、アプリケーションの起動時に呼び出されます。サードパーティサービスの初期化、データベースの設定、通知の登録、グローバルパラメータの設定に最適なタイミングです。初期表示が遅れるため、長い処理は避けるべきです。

3

iOSアプリケーションのライフサイクルにおける主な状態は何ですか?

回答

ライフサイクルには5つの主要な状態があります。Not Running(アプリが起動していない、または終了した)、Inactive(アプリはフォアグラウンドにあるがイベントを受け取っていない、一時的な中断)、Active(アプリが正常に動作しイベントを受け取っている)、Background(アプリがバックグラウンドで実行され、サスペンドまで約30秒)、Suspended(アプリがメモリ内で凍結され、実行されていない)です。これらの状態を理解することで、リソース、権限を適切に管理し、バッテリーを最適化できます。これらの状態間の遷移により、AppDelegateまたはSceneDelegateのメソッドが呼び出されます。

4

applicationWillResignActiveとapplicationDidEnterBackgroundの違いは何ですか?

5

applicationDidBecomeActiveの役割は何ですか?

+17 面接問題

次の面接に向けてiOSをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める