2023年10月24日SwiftUIには2種類のライフサイクルがあります。Appこの記事では、この2種類のライフサイクルの違いについて解説します。目次ライフサイクルの選択アプリで使用するライフサイクルはプロジェクトを作成するときに選択します。12でプロジェクト作成時のオプションにライフサイクルの設定が追加されています。Multiplatformのテンプレートを選択したときは、ライフサイクルの設定は表示されません。DelegateはアプリのライフサイクルはSwiftUI導入以前からあるUIKitを使って実装する方法です。OSによってアプリを実装するときに使用するフレームワークが異なるため、次のようにOS別にライフサイクルが用意されています。12以降で選択できるようになった新しいライフサイクルです。同じコードで複数のOSに対応できます。動作環境は以下の通りです。Appのコードアプリのライフサイクルというのは、アプリが起動してから終了するまでの間のことです。ライフサイクルのコードで必ず実装する必要がある処理はContentViewを表示する処理です。必要なコードはXcodeが生成してくれます。生成されたコードは次のような処理を行います。Appのコードはシンプルです。その上、SwiftUIが対応するOSすべてで共通です。}}@main@mainアトリビュートは、MyApp構造体がプログラムのエントリーポイントになることを表しています。5.3で追加されたアトリビュートです。AppAppプロトコルはアプリの表示内容を定義するシーンです。テンプレートで生成されたコードの様にbodyプロパティにアプリの表示内容を設定します。WindowGroupWindowGroupはアプリのビュー階層のコンテナです。ウインドウ毎に、WindowGroupの中に配置したビューをテンプレートとして使い、ウインドウに表示されるビューを作ります。ContentViewアプリが起動したときに最初に表示されるウインドウの表示内容を定義するビューです。Delegateはどちらを使う?これから新規に作成するアプリの場合には、動作環境によって決まると思います。Delegateを使用します。Appを使う方が良いと思います。理由は複数OSへの対応が容易になるからです。iOSやmacOSのバージョンが上がり、SwiftUIの機能も増えてきました。ARKitARKitはiPhoneやiPadを使ったAR(拡張現実)アプリを作るためのフレームワークです。基礎から学ぶMetal「基礎から学ぶMetal」を執筆しました。本書はMetalを使ってGPUプログラミングを行うための最初のステップを解説するMetalの解説書です。SwiftUI」というタイトルの本を執筆しました。10.15などから使用可能になったSwiftUIの入門書です。公式ページへのリンクを追加しました。v2.1への対応方法へのリンクを追加しました。プログラミングの世界」という本を執筆しました。Objective-C逆引きハンドブック」を執筆しました。発刊)という本を執筆しました。Engineer(ソフトウェアエンジニア)アールケー開発代表。Appleプラットフォーム向けの開発を専門としているソフトウェアエンジニア。ARKitARKitはiPhoneやiPadを使ったAR(拡張現実)アプリを作るためのフレームワークです。基礎から学ぶMetal「基礎から学ぶMetal」を執筆しました。本書はMetalを使ってGPUプログラミングを行うための最初のステップを解説するMetalの解説書です。SwiftUI」というタイトルの本を執筆しました。10.15などから使用可能になったSwiftUIの入門書です。公式ページへのリンクを追加しました。v2.1への対応方法へのリンクを追加しました。プログラミングの世界」という本を執筆しました。Objective-C逆引きハンドブック」を執筆しました。発刊)という本を執筆しました。