Skip to content

Commit 3ffa411

Browse files
authored
feat(ios): migrate iOS to UIScene lifecycle (#18054)
* feat(ios): migrate all iOS example apps to UIScene lifecycle and add UIScene support to * feat(ios): migrate all iOS example apps to UIScene lifecycle
1 parent baf6543 commit 3ffa411

37 files changed

Lines changed: 459 additions & 26 deletions

File tree

packages/cloud_firestore/cloud_firestore/example/ios/Runner/Info.plist

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,26 @@
4747
<true/>
4848
<key>UIApplicationSupportsIndirectInputEvents</key>
4949
<true/>
50+
<key>UIApplicationSceneManifest</key>
51+
<dict>
52+
<key>UIApplicationSupportsMultipleScenes</key>
53+
<false/>
54+
<key>UISceneConfigurations</key>
55+
<dict>
56+
<key>UIWindowSceneSessionRoleApplication</key>
57+
<array>
58+
<dict>
59+
<key>UISceneClassName</key>
60+
<string>UIWindowScene</string>
61+
<key>UISceneDelegateClassName</key>
62+
<string>FlutterSceneDelegate</string>
63+
<key>UISceneConfigurationName</key>
64+
<string>flutter</string>
65+
<key>UISceneStoryboardFile</key>
66+
<string>Main</string>
67+
</dict>
68+
</array>
69+
</dict>
70+
</dict>
5071
</dict>
5172
</plist>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#import <Flutter/Flutter.h>
22
#import <UIKit/UIKit.h>
33

4-
@interface AppDelegate : FlutterAppDelegate
4+
@interface AppDelegate : FlutterAppDelegate <FlutterImplicitEngineDelegate>
55

66
@end

packages/cloud_functions/cloud_functions/example/ios/Runner/AppDelegate.m

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@ @implementation AppDelegate
55

66
- (BOOL)application:(UIApplication *)application
77
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
8-
[GeneratedPluginRegistrant registerWithRegistry:self];
9-
// Override point for customization after application launch.
108
return [super application:application didFinishLaunchingWithOptions:launchOptions];
119
}
1210

11+
- (void)didInitializeImplicitFlutterEngine:(NSObject<FlutterImplicitEngineBridge> *)engineBridge {
12+
[GeneratedPluginRegistrant registerWithRegistry:engineBridge.pluginRegistry];
13+
}
14+
1315
@end

packages/cloud_functions/cloud_functions/example/ios/Runner/Info.plist

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,5 +50,26 @@
5050
<true/>
5151
<key>UIApplicationSupportsIndirectInputEvents</key>
5252
<true/>
53+
<key>UIApplicationSceneManifest</key>
54+
<dict>
55+
<key>UIApplicationSupportsMultipleScenes</key>
56+
<false/>
57+
<key>UISceneConfigurations</key>
58+
<dict>
59+
<key>UIWindowSceneSessionRoleApplication</key>
60+
<array>
61+
<dict>
62+
<key>UISceneClassName</key>
63+
<string>UIWindowScene</string>
64+
<key>UISceneDelegateClassName</key>
65+
<string>FlutterSceneDelegate</string>
66+
<key>UISceneConfigurationName</key>
67+
<string>flutter</string>
68+
<key>UISceneStoryboardFile</key>
69+
<string>Main</string>
70+
</dict>
71+
</array>
72+
</dict>
73+
</dict>
5374
</dict>
5475
</plist>

packages/firebase_ai/firebase_ai/example/ios/Runner/Info.plist

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,26 @@
4949
<string>We need camera access to take pictures and record video.</string>
5050
<key>NSMicrophoneUsageDescription</key>
5151
<string>We need access to the microphone to record audio.</string>
52+
<key>UIApplicationSceneManifest</key>
53+
<dict>
54+
<key>UIApplicationSupportsMultipleScenes</key>
55+
<false/>
56+
<key>UISceneConfigurations</key>
57+
<dict>
58+
<key>UIWindowSceneSessionRoleApplication</key>
59+
<array>
60+
<dict>
61+
<key>UISceneClassName</key>
62+
<string>UIWindowScene</string>
63+
<key>UISceneDelegateClassName</key>
64+
<string>FlutterSceneDelegate</string>
65+
<key>UISceneConfigurationName</key>
66+
<string>flutter</string>
67+
<key>UISceneStoryboardFile</key>
68+
<string>Main</string>
69+
</dict>
70+
</array>
71+
</dict>
72+
</dict>
5273
</dict>
5374
</plist>

packages/firebase_analytics/firebase_analytics/example/ios/Runner/AppDelegate.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
#import <Flutter/Flutter.h>
66
#import <UIKit/UIKit.h>
77

8-
@interface AppDelegate : FlutterAppDelegate
8+
@interface AppDelegate : FlutterAppDelegate <FlutterImplicitEngineDelegate>
99

1010
@end

packages/firebase_analytics/firebase_analytics/example/ios/Runner/AppDelegate.m

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,11 @@ @implementation AppDelegate
99

1010
- (BOOL)application:(UIApplication *)application
1111
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
12-
[GeneratedPluginRegistrant registerWithRegistry:self];
1312
return [super application:application didFinishLaunchingWithOptions:launchOptions];
1413
}
1514

15+
- (void)didInitializeImplicitFlutterEngine:(NSObject<FlutterImplicitEngineBridge> *)engineBridge {
16+
[GeneratedPluginRegistrant registerWithRegistry:engineBridge.pluginRegistry];
17+
}
18+
1619
@end

packages/firebase_analytics/firebase_analytics/example/ios/Runner/Info.plist

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,26 @@
4949
<true/>
5050
<key>UIApplicationSupportsIndirectInputEvents</key>
5151
<true/>
52+
<key>UIApplicationSceneManifest</key>
53+
<dict>
54+
<key>UIApplicationSupportsMultipleScenes</key>
55+
<false/>
56+
<key>UISceneConfigurations</key>
57+
<dict>
58+
<key>UIWindowSceneSessionRoleApplication</key>
59+
<array>
60+
<dict>
61+
<key>UISceneClassName</key>
62+
<string>UIWindowScene</string>
63+
<key>UISceneDelegateClassName</key>
64+
<string>FlutterSceneDelegate</string>
65+
<key>UISceneConfigurationName</key>
66+
<string>flutter</string>
67+
<key>UISceneStoryboardFile</key>
68+
<string>Main</string>
69+
</dict>
70+
</array>
71+
</dict>
72+
</dict>
5273
</dict>
5374
</plist>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#import <Flutter/Flutter.h>
22
#import <UIKit/UIKit.h>
33

4-
@interface AppDelegate : FlutterAppDelegate
4+
@interface AppDelegate : FlutterAppDelegate <FlutterImplicitEngineDelegate>
55

66
@end

packages/firebase_app_check/firebase_app_check/example/ios/Runner/AppDelegate.m

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@ @implementation AppDelegate
66

77
- (BOOL)application:(UIApplication *)application
88
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
9-
[GeneratedPluginRegistrant registerWithRegistry:self];
10-
// Override point for customization after application launch.
119
return [super application:application didFinishLaunchingWithOptions:launchOptions];
1210
}
1311

12+
- (void)didInitializeImplicitFlutterEngine:(NSObject<FlutterImplicitEngineBridge> *)engineBridge {
13+
[GeneratedPluginRegistrant registerWithRegistry:engineBridge.pluginRegistry];
14+
}
15+
1416
@end

0 commit comments

Comments
 (0)