| Flutter iOS Embedder |

FlutterPluginAppLifeCycleDelegate.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_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_
6 #define FLUTTER_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_
7
8 #import "FlutterPlugin.h"
9
10 NS_ASSUME_NONNULL_BEGIN
11
12 /**
13 * Propagates `UIAppDelegate` callbacks to registered plugins.
14 */
15 FLUTTER_DARWIN_EXPORT
16 @interface FlutterPluginAppLifeCycleDelegate : NSObject <UNUserNotificationCenterDelegate>
17
18 /**
19 * Registers `delegate` to receive life cycle callbacks via this FlutterPluginAppLifeCycleDelegate
20 * as long as it is alive.
21 *
22 * `delegate` will only be referenced weakly.
23 */
24 - (void)addDelegate:(NSObject<FlutterApplicationLifeCycleDelegate>*)delegate;
25
26 /**
27 * Calls all plugins registered for `UIApplicationDelegate` callbacks.
28 *
29 * @return `NO` if any plugin vetos application launch.
30 */
31 - (BOOL)application:(UIApplication*)application
32 didFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
33
34 /**
35 * Calls all plugins registered for `UIApplicationDelegate` callbacks.
36 *
37 * @return `NO` if any plugin vetos application launch.
38 */
39 - (BOOL)application:(UIApplication*)application
40 willFinishLaunchingWithOptions:(NSDictionary*)launchOptions;
41
42 /**
43 * Called if this plugin has been registered for `UIApplicationDelegate` callbacks.
44 */
45 - (void)application:(UIApplication*)application
46 didRegisterUserNotificationSettings:(UIUserNotificationSettings*)notificationSettings
47 API_DEPRECATED(
48 "See -[UIApplicationDelegate application:didRegisterUserNotificationSettings:] deprecation",
49 ios(8.0, 10.0));
50
51 /**
52 * Calls all plugins registered for `UIApplicationDelegate` callbacks.
53 */
54 - (void)application:(UIApplication*)application
55 didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken;
56
57 /**
58 * Calls all plugins registered for `UIApplicationDelegate` callbacks.
59 */
60 - (void)application:(UIApplication*)application
61 didFailToRegisterForRemoteNotificationsWithError:(NSError*)error;
62
63 /**
64 * Calls all plugins registered for `UIApplicationDelegate` callbacks.
65 */
66 - (void)application:(UIApplication*)application
67 didReceiveRemoteNotification:(NSDictionary*)userInfo
68 fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
69
70 /**
71 * Calls all plugins registered for `UIApplicationDelegate` callbacks.
72 */
73 - (void)application:(UIApplication*)application
74 didReceiveLocalNotification:(UILocalNotification*)notification
75 API_DEPRECATED(
76 "See -[UIApplicationDelegate application:didReceiveLocalNotification:] deprecation",
77 ios(4.0, 10.0));
78
79 /**
80 * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
81 * some plugin handles the request.
82 *
83 * @return `YES` if any plugin handles the request.
84 */
85 - (BOOL)application:(UIApplication*)application
86 openURL:(NSURL*)url
87 options:(NSDictionary<UIApplicationOpenURLOptionsKey, id>*)options;
88
89 /**
90 * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
91 * some plugin handles the request.
92 *
93 * @return `YES` if any plugin handles the request.
94 */
95 - (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url;
96
97 /**
98 * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
99 * some plugin handles the request.
100 *
101 * @return `YES` if any plugin handles the request.
102 */
103 - (BOOL)application:(UIApplication*)application
104 openURL:(NSURL*)url
105 sourceApplication:(NSString*)sourceApplication
106 annotation:(id)annotation;
107
108 /**
109 * Calls all plugins registered for `UIApplicationDelegate` callbacks.
110 */
111 - (void)application:(UIApplication*)application
112 performActionForShortcutItem:(UIApplicationShortcutItem*)shortcutItem
113 completionHandler:(void (^)(BOOL succeeded))completionHandler
114 API_AVAILABLE(ios(9.0));
115
116 /**
117 * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
118 * some plugin handles the request.
119 *
120 * @return `YES` if any plugin handles the request.
121 */
122 - (BOOL)application:(UIApplication*)application
123 handleEventsForBackgroundURLSession:(nonnull NSString*)identifier
124 completionHandler:(nonnull void (^)(void))completionHandler;
125
126 /**
127 * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
128 * some plugin handles the request.
129 *
130 * @returns `YES` if any plugin handles the request.
131 */
132 - (BOOL)application:(UIApplication*)application
133 performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
134
135 /**
136 * Calls all plugins registered for `UIApplicationDelegate` callbacks in order of registration until
137 * some plugin handles the request.
138 *
139 * @return `YES` if any plugin handles the request.
140 */
141 - (BOOL)application:(UIApplication*)application
142 continueUserActivity:(NSUserActivity*)userActivity
143 restorationHandler:(void (^)(NSArray*))restorationHandler;
144 @end
145
146 NS_ASSUME_NONNULL_END
147
148 #endif // FLUTTER_FLUTTERPLUGINAPPLIFECYCLEDELEGATE_H_
NS_ASSUME_NONNULL_END
#define NS_ASSUME_NONNULL_END
Definition: FlutterMacros.h:20
NS_ASSUME_NONNULL_BEGIN
#define NS_ASSUME_NONNULL_BEGIN
Definition: FlutterMacros.h:19
FlutterPluginAppLifeCycleDelegate
Definition: FlutterPluginAppLifeCycleDelegate.h:16
FlutterPlugin.h
FlutterApplicationLifeCycleDelegate-p
Definition: FlutterPlugin.h:25
FLUTTER_DARWIN_EXPORT
#define FLUTTER_DARWIN_EXPORT
Definition: FlutterMacros.h:14