Flutter iOS Embedder
FlutterAppDelegate.h
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERAPPDELEGATE_H_
6 #define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERAPPDELEGATE_H_
7 
8 #import <UIKit/UIKit.h>
9 
10 #import "FlutterMacros.h"
11 #import "FlutterPlugin.h"
12 
13 /**
14  * `UIApplicationDelegate` subclass for simple apps that want default behavior.
15  *
16  * This class implements the following behaviors:
17  * * Status bar touches are forwarded to the key window's root view
18  * `FlutterViewController`, in order to trigger scroll to top.
19  * * Keeps the Flutter connection open in debug mode when the phone screen
20  * locks.
21  *
22  * App delegates for Flutter applications are *not* required to inherit from
23  * this class. Developers of custom app delegate classes should copy and paste
24  * code as necessary from FlutterAppDelegate.mm.
25  */
28  : UIResponder <UIApplicationDelegate, FlutterPluginRegistry, FlutterAppLifeCycleProvider>
29 
30 @property(nonatomic, strong, nullable) UIWindow* window;
31 
32 /**
33  * A user-assignable `FlutterPluginRegistrant` for deferred plugin registration.
34  *
35  * For applications adopting the `UISceneDelegate` lifecycle, the recommended approach is to update
36  * the application's `UIApplicationDelegate` to conform to `FlutterImplicitEngineDelegate` and
37  * perform plugin registration via the generated plugin registrant in the
38  * `didInitializeImplicitFlutterEngine` callback.
39  *
40  * Alternatively, assigning a `FlutterPluginRegistrant` to this property allows Flutter to
41  * automatically handle plugin registration when a `FlutterEngine` becomes available, avoiding
42  * the need to implement delegate callbacks.
43  *
44  * The `FlutterAppDelegate` itself can be assigned to this property without creating a
45  * retain cycle (e.g., `self.pluginRegistrant = self;`).
46  *
47  * @see |FlutterImplicitEngineDelegate|
48  * @see https://docs.flutter.cn/release/breaking-changes/uiscenedelegate
49  */
50 @property(nonatomic, strong, nullable) NSObject<FlutterPluginRegistrant>* pluginRegistrant;
51 
52 @end
53 
54 #endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_FRAMEWORK_HEADERS_FLUTTERAPPDELEGATE_H_
#define FLUTTER_DARWIN_EXPORT
Definition: FlutterMacros.h:14
FlutterAppLifeCycleProvider UIWindow * window
NSObject< FlutterPluginRegistrant > * pluginRegistrant