2021/5/10
「AppDelegateって何?」
「@UIApplicationDelegateAdapterってなんで使うの?」
と言う人に向けて、この記事は書かれています。
どうも、ちょげ(@chogetarou)です。
AppDelegateと言う、UIkitの時から使われているクラスがあります。
iOS14からは、デフォルトでは作成されなくなりました。
なので、iOS14から開発を始めた人にとっては、謎のクラスなわけです。
そこで、今回はAppDelegateクラスについて解説します。
アプリのイベント管理

AppDelegateは、元々アプリ起動時、最初に呼ばれるクラスです。
アプリ全体のイベントを管理するためのコードが含まれています。
このクラスにコードを追加することで、
- アプリの初期設定
- プッシュ通知
- ファイル共有
といったことが出来ます。
雛形
AppDelegateの雛形は、以下のようになっています。
class AppDelegate: UIResponder, UIApplicationDelegate {
func application (_ application: UIApplication, launchOptions: [UIApplication.launchOptionKey: Any]?)
-> Bool {
//処理
return true
}
}
処理の部分に初期設定やプッシュ通知の作成などを記述します。
アプリに適用
iOS14からは、AppDelegateクラスがデフォルトで作成されなくなることはお伝えしました。
つまり、今までのようにクラスを作っただけでは、アプリはデリゲートクラスを認識してくれないのです。
アプリにデリゲートクラスを使うよ!と知らせる必要があります。
そこで登場するのが、@ApplicationDelegateAdapter(長いので以下アダプター)です。
〜App .swiftファイルで、プロパティラッパを用いた宣言をすることで、アプリでデーリゲートクラスを使用することが出来るようになります。
struct DeleApp: App {
var body: some Scene {
//デリゲート使います
@ApplectionDelegateAdapter(AppDelegate.self) var appDelegate
WindowGroup {
ContentView()
}
}
}
これでアプリ起動時にAppDelegateクラスが呼ばれるようになります。
まとめ
- AppDelegateは、アプリ起動時に呼ばれる
- AppDelegateは、アプリ全体のイベントを管理している
- AppDelegateは、作成するだけでは使えない
- @ApplicationDelegateAdapterを使うことによって、アプリでAppDelegateが使えるようになる
この記事が少しでも参考になれば嬉しいです。
読んで頂きありがとうございました。
では、サラダバー!
参考
Amazon.co.jp: 1人でアプリを作る人を支えるSwiftUI開発レシピ (技術の泉シリーズ(NextPublishing)) eBook : 佐藤 剛士: 本
Amazon.co.jp: 1人でアプリを作る人を支えるSwiftUI開発レシピ (技術の泉シリーズ(NextPublishing)) eBook : 佐藤 剛士: 本
Amazon.co.jp: SwiftUI 徹底入門 eBook : 金田 浩明: Kindleストア
Amazon.co.jp: SwiftUI 徹底入門 eBook : 金田 浩明: Kindleストア
Amazon.co.jp: 絶対に挫折しない iPhoneアプリ開発「超」入門 第7版 【Xcode 10 & iOS 12】 完全対応 eBook : 高橋 京介: 本
Amazon.co.jp: 絶対に挫折しない iPhoneアプリ開発「超」入門 第7版 【Xcode 10 & iOS 12】 完全対応 eBook : 高橋 京介: 本
コメント