AppDelegate の UI ライフサイクル処理作業を引き受けるために、Xcode11 で作成されたプロジェクトに新しい SceneDelegate ファイルが追加されます。
iOS13 以前 (AppDelegate のみ使用): このモードにはプロセスが 1 つだけあり、このプロセスに対応するユーザー インターフェイスも 1 つだけあります。
iOS13 以降 (AppDelegate+SceneDelegate を使用): SceneDelegate はウィンドウの管理に使用されます。アプリケーションには複数の Scene シーンを持つことができ、1 つのシーンをアプリケーションのユーザー インターフェイスとコンテンツのキャリアとして使用できるため、このメソッドを次の環境で使用できます。 iOS および iPadOS でマルチウィンドウ アプリを構築します。
オリジナルの方法でプロジェクト開発を実行する必要がある場合は、次のことを行う必要があります。
1. 新しく作成したプロジェクト内の 2 つの SceneDelegate ファイルを削除します
2. AppDelegate.m ファイル内の SceneDelegate ライフサイクルに関連する 2 つの関数を削除します。
3. Info.plist ファイル内のアプリケーション シーン マニフェストを削除します。
4. ウィンドウのコントロールを AppDelegate に渡します (ルート ウィンドウの設定を容易にするために、AppDelegate.h ファイルに UIWindow プロパティを追加する必要があります)。
5. AppDelegate.m 関数 (BOOL) でルート コントローラーを初期化します。 アプリケーション: (UIApplication *) application DidFinishLaunchingWithOptions: (NSDictionary *) launchOptions
ここまでの操作が完了すると、Xcodeを使って今までと同じように開発できるようになります。