diff --git a/database/DatabaseExample.xcodeproj/project.pbxproj b/database/DatabaseExample.xcodeproj/project.pbxproj index ff3297e0c..1fc5f2d23 100644 --- a/database/DatabaseExample.xcodeproj/project.pbxproj +++ b/database/DatabaseExample.xcodeproj/project.pbxproj @@ -24,6 +24,7 @@ 10B872C61CDC14C800C7D214 /* MyTopPostsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10B872C51CDC14C800C7D214 /* MyTopPostsViewController.swift */; }; 4022DB8C90CB216288A52649 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = F644C72A588FB44DD666857B /* GoogleService-Info.plist */; }; 5F5A537E1ADE67D500F81DF0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */; }; + 5F5A53A11ADE67D500F81DF0 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A53A01ADE67D500F81DF0 /* SceneDelegate.swift */; }; 5F5A53801ADE67D500F81DF0 /* NewPostViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A537F1ADE67D500F81DF0 /* NewPostViewController.swift */; }; 5F5A539C1ADE69AA00F81DF0 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F5A53591ADE670C00F81DF0 /* Main.storyboard */; }; 5F99610B1AE0CF4F0034F503 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5F9961061AE0CF4F0034F503 /* Images.xcassets */; }; @@ -60,6 +61,7 @@ 5F5A535A1ADE670C00F81DF0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 5F5A53791ADE67D500F81DF0 /* DatabaseExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DatabaseExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 5F5A53A01ADE67D500F81DF0 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; 5F5A537F1ADE67D500F81DF0 /* NewPostViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewPostViewController.swift; sourceTree = ""; }; 5F9961061AE0CF4F0034F503 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 5F9961071AE0CF4F0034F503 /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LaunchScreen.xib; sourceTree = ""; }; @@ -177,6 +179,7 @@ isa = PBXGroup; children = ( 5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */, + 5F5A53A01ADE67D500F81DF0 /* SceneDelegate.swift */, 10B872BC1CDC072B00C7D214 /* PostTableViewCell.swift */, 10B872C11CDC0AC200C7D214 /* PostDataSource.swift */, 10B872AF1CDBFB2700C7D214 /* ViewControllers */, @@ -341,6 +344,7 @@ 10B872B11CDBFB7300C7D214 /* SignInViewController.swift in Sources */, 5F5A53801ADE67D500F81DF0 /* NewPostViewController.swift in Sources */, 5F5A537E1ADE67D500F81DF0 /* AppDelegate.swift in Sources */, + 5F5A53A11ADE67D500F81DF0 /* SceneDelegate.swift in Sources */, 10B872BB1CDC059F00C7D214 /* Comment.swift in Sources */, 10B872B71CDC044500C7D214 /* Post.swift in Sources */, 103685821CDD3B13004DC149 /* PostDetailTableViewController.swift in Sources */, diff --git a/database/DatabaseExample/Info.plist b/database/DatabaseExample/Info.plist index 30d7c4861..bc03ec441 100644 --- a/database/DatabaseExample/Info.plist +++ b/database/DatabaseExample/Info.plist @@ -26,6 +26,25 @@ 1 LSRequiresIPhoneOS + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile diff --git a/database/DatabaseExampleSwift/AppDelegate.swift b/database/DatabaseExampleSwift/AppDelegate.swift index c3e96a60f..766e24c57 100644 --- a/database/DatabaseExampleSwift/AppDelegate.swift +++ b/database/DatabaseExampleSwift/AppDelegate.swift @@ -19,8 +19,6 @@ import FirebaseCore @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication .LaunchOptionsKey: Any]?) -> Bool { diff --git a/database/DatabaseExampleSwift/SceneDelegate.swift b/database/DatabaseExampleSwift/SceneDelegate.swift new file mode 100644 index 000000000..694bbeee2 --- /dev/null +++ b/database/DatabaseExampleSwift/SceneDelegate.swift @@ -0,0 +1,19 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import UIKit + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + var window: UIWindow? +} diff --git a/firestore/FirestoreExample.xcodeproj/project.pbxproj b/firestore/FirestoreExample.xcodeproj/project.pbxproj index 18bb91c56..728fc7aae 100644 --- a/firestore/FirestoreExample.xcodeproj/project.pbxproj +++ b/firestore/FirestoreExample.xcodeproj/project.pbxproj @@ -13,6 +13,7 @@ 8D004D2D1EE879B5004DEF35 /* FiltersViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D004D2C1EE879B5004DEF35 /* FiltersViewController.swift */; }; 8D5DF7021F7EF3BA00B0D24F /* NewReviewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D5DF7011F7EF3BA00B0D24F /* NewReviewViewController.swift */; }; 8D9BBC311EE2200900194E9A /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D9BBC301EE2200900194E9A /* AppDelegate.swift */; }; + 8D9BBC511EE2200900194E9A /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D9BBC501EE2200900194E9A /* SceneDelegate.swift */; }; 8D9BBC331EE2200900194E9A /* RestaurantsTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D9BBC321EE2200900194E9A /* RestaurantsTableViewController.swift */; }; 8D9BBC361EE2200900194E9A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8D9BBC341EE2200900194E9A /* Main.storyboard */; }; 8D9BBC381EE2200900194E9A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8D9BBC371EE2200900194E9A /* Assets.xcassets */; }; @@ -81,6 +82,7 @@ 8D5DF7011F7EF3BA00B0D24F /* NewReviewViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewReviewViewController.swift; sourceTree = ""; }; 8D9BBC2D1EE2200900194E9A /* FirestoreExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FirestoreExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 8D9BBC301EE2200900194E9A /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 8D9BBC501EE2200900194E9A /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; 8D9BBC321EE2200900194E9A /* RestaurantsTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RestaurantsTableViewController.swift; sourceTree = ""; }; 8D9BBC351EE2200900194E9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 8D9BBC371EE2200900194E9A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; @@ -202,6 +204,7 @@ isa = PBXGroup; children = ( 8D9BBC301EE2200900194E9A /* AppDelegate.swift */, + 8D9BBC501EE2200900194E9A /* SceneDelegate.swift */, 8D9BBC321EE2200900194E9A /* RestaurantsTableViewController.swift */, 8DF77E191EEB45E500CB2330 /* RestaurantDetailViewController.swift */, 8D5DF7011F7EF3BA00B0D24F /* NewReviewViewController.swift */, @@ -505,6 +508,7 @@ files = ( 8D9BBC331EE2200900194E9A /* RestaurantsTableViewController.swift in Sources */, 8D9BBC311EE2200900194E9A /* AppDelegate.swift in Sources */, + 8D9BBC511EE2200900194E9A /* SceneDelegate.swift in Sources */, 8DF1E3151EE72C4600192CDE /* LocalCollection.swift in Sources */, 8670CB2C286A218500070BC6 /* UINavigationBar+Extension.swift in Sources */, 8D5DF7021F7EF3BA00B0D24F /* NewReviewViewController.swift in Sources */, diff --git a/firestore/FirestoreExample/AppDelegate.swift b/firestore/FirestoreExample/AppDelegate.swift index b8d50c487..702715f55 100644 --- a/firestore/FirestoreExample/AppDelegate.swift +++ b/firestore/FirestoreExample/AppDelegate.swift @@ -19,8 +19,6 @@ import FirebaseCore @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication .LaunchOptionsKey: Any]?) -> Bool { diff --git a/firestore/FirestoreExample/Info.plist b/firestore/FirestoreExample/Info.plist index d05247386..9f7e6a148 100644 --- a/firestore/FirestoreExample/Info.plist +++ b/firestore/FirestoreExample/Info.plist @@ -20,6 +20,25 @@ 1 LSRequiresIPhoneOS + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile diff --git a/firestore/FirestoreExample/SceneDelegate.swift b/firestore/FirestoreExample/SceneDelegate.swift new file mode 100644 index 000000000..694bbeee2 --- /dev/null +++ b/firestore/FirestoreExample/SceneDelegate.swift @@ -0,0 +1,19 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import UIKit + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + var window: UIWindow? +} diff --git a/inappmessaging/InAppMessagingExample.xcodeproj/project.pbxproj b/inappmessaging/InAppMessagingExample.xcodeproj/project.pbxproj index 1865b3927..17d0cbe5b 100644 --- a/inappmessaging/InAppMessagingExample.xcodeproj/project.pbxproj +++ b/inappmessaging/InAppMessagingExample.xcodeproj/project.pbxproj @@ -9,6 +9,7 @@ /* Begin PBXBuildFile section */ 1CAA5060E4A9D8B55A15EB4E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 81A2FB070295F56CC0B2D523 /* GoogleService-Info.plist */; }; 8DB25F8F20BE0C29000ABEE2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DB25F8E20BE0C29000ABEE2 /* AppDelegate.swift */; }; + 8DB25FA120BE0C29000ABEE2 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DB25FA020BE0C29000ABEE2 /* SceneDelegate.swift */; }; 8DB25F9120BE0C29000ABEE2 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DB25F9020BE0C29000ABEE2 /* ViewController.swift */; }; 8DB25F9420BE0C29000ABEE2 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8DB25F9220BE0C29000ABEE2 /* Main.storyboard */; }; 8DB25F9620BE0C2A000ABEE2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8DB25F9520BE0C2A000ABEE2 /* Assets.xcassets */; }; @@ -21,6 +22,7 @@ 81A2FB070295F56CC0B2D523 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 8DB25F8B20BE0C29000ABEE2 /* InAppMessagingExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = InAppMessagingExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 8DB25F8E20BE0C29000ABEE2 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 8DB25FA020BE0C29000ABEE2 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; 8DB25F9020BE0C29000ABEE2 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; 8DB25F9320BE0C29000ABEE2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 8DB25F9520BE0C2A000ABEE2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; @@ -63,6 +65,7 @@ isa = PBXGroup; children = ( 8DB25F8E20BE0C29000ABEE2 /* AppDelegate.swift */, + 8DB25FA020BE0C29000ABEE2 /* SceneDelegate.swift */, 8DB25F9020BE0C29000ABEE2 /* ViewController.swift */, 8DB25F9220BE0C29000ABEE2 /* Main.storyboard */, 8DB25F9520BE0C2A000ABEE2 /* Assets.xcassets */, @@ -159,6 +162,7 @@ files = ( 8DB25F9120BE0C29000ABEE2 /* ViewController.swift in Sources */, 8DB25F8F20BE0C29000ABEE2 /* AppDelegate.swift in Sources */, + 8DB25FA120BE0C29000ABEE2 /* SceneDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/inappmessaging/InAppMessagingExample/AppDelegate.swift b/inappmessaging/InAppMessagingExample/AppDelegate.swift index 638516d3f..e5f32b6cc 100644 --- a/inappmessaging/InAppMessagingExample/AppDelegate.swift +++ b/inappmessaging/InAppMessagingExample/AppDelegate.swift @@ -21,8 +21,6 @@ import FirebaseInAppMessaging @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication .LaunchOptionsKey: Any]?) -> Bool { diff --git a/inappmessaging/InAppMessagingExample/Info.plist b/inappmessaging/InAppMessagingExample/Info.plist index 16be3b681..8ded2f364 100644 --- a/inappmessaging/InAppMessagingExample/Info.plist +++ b/inappmessaging/InAppMessagingExample/Info.plist @@ -20,6 +20,25 @@ 1 LSRequiresIPhoneOS + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile diff --git a/inappmessaging/InAppMessagingExample/SceneDelegate.swift b/inappmessaging/InAppMessagingExample/SceneDelegate.swift new file mode 100644 index 000000000..694bbeee2 --- /dev/null +++ b/inappmessaging/InAppMessagingExample/SceneDelegate.swift @@ -0,0 +1,19 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import UIKit + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + var window: UIWindow? +} diff --git a/installations/InstallationsExample.xcodeproj/project.pbxproj b/installations/InstallationsExample.xcodeproj/project.pbxproj index 8b9291e6f..46fef8deb 100644 --- a/installations/InstallationsExample.xcodeproj/project.pbxproj +++ b/installations/InstallationsExample.xcodeproj/project.pbxproj @@ -9,6 +9,7 @@ /* Begin PBXBuildFile section */ 8DC73D842D41ABC00092B6EE /* FirebaseInstallations in Frameworks */ = {isa = PBXBuildFile; productRef = 8DC73D832D41ABC00092B6EE /* FirebaseInstallations */; }; 9A0A6EE922CE55B2004CF0FF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A0A6EE822CE55B2004CF0FF /* AppDelegate.swift */; }; + 9A0A6F0122CE55B2004CF0FF /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A0A6F0022CE55B2004CF0FF /* SceneDelegate.swift */; }; 9A0A6EEB22CE55B2004CF0FF /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A0A6EEA22CE55B2004CF0FF /* ViewController.swift */; }; 9A0A6EEE22CE55B2004CF0FF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9A0A6EEC22CE55B2004CF0FF /* Main.storyboard */; }; 9A5908BF23AD479B000CD3B9 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9A5908BA23AD479B000CD3B9 /* LaunchScreen.xib */; }; @@ -30,6 +31,7 @@ /* Begin PBXFileReference section */ 9A0A6EE522CE55B2004CF0FF /* InstallationsExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = InstallationsExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 9A0A6EE822CE55B2004CF0FF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 9A0A6F0022CE55B2004CF0FF /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; 9A0A6EEA22CE55B2004CF0FF /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; 9A0A6EED22CE55B2004CF0FF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 9A5908BA23AD479B000CD3B9 /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LaunchScreen.xib; sourceTree = ""; }; @@ -94,6 +96,7 @@ 9A76AE2922E207640024E473 /* Info.plist */, 9A0A6EEC22CE55B2004CF0FF /* Main.storyboard */, 9A0A6EE822CE55B2004CF0FF /* AppDelegate.swift */, + 9A0A6F0022CE55B2004CF0FF /* SceneDelegate.swift */, 9A0A6EEA22CE55B2004CF0FF /* ViewController.swift */, ); path = InstallationsExample; @@ -228,6 +231,7 @@ files = ( 9A0A6EEB22CE55B2004CF0FF /* ViewController.swift in Sources */, 9A0A6EE922CE55B2004CF0FF /* AppDelegate.swift in Sources */, + 9A0A6F0122CE55B2004CF0FF /* SceneDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/installations/InstallationsExample/AppDelegate.swift b/installations/InstallationsExample/AppDelegate.swift index 83b2e24ac..7c367a90a 100644 --- a/installations/InstallationsExample/AppDelegate.swift +++ b/installations/InstallationsExample/AppDelegate.swift @@ -20,8 +20,6 @@ import FirebaseCore @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication .LaunchOptionsKey: Any]?) -> Bool { diff --git a/installations/InstallationsExample/Info.plist b/installations/InstallationsExample/Info.plist index 16be3b681..8ded2f364 100644 --- a/installations/InstallationsExample/Info.plist +++ b/installations/InstallationsExample/Info.plist @@ -20,6 +20,25 @@ 1 LSRequiresIPhoneOS + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile diff --git a/installations/InstallationsExample/SceneDelegate.swift b/installations/InstallationsExample/SceneDelegate.swift new file mode 100644 index 000000000..694bbeee2 --- /dev/null +++ b/installations/InstallationsExample/SceneDelegate.swift @@ -0,0 +1,19 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import UIKit + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + var window: UIWindow? +} diff --git a/messaging/MessagingExample.xcodeproj/project.pbxproj b/messaging/MessagingExample.xcodeproj/project.pbxproj index 2a2ffa71d..0d1506a3a 100644 --- a/messaging/MessagingExample.xcodeproj/project.pbxproj +++ b/messaging/MessagingExample.xcodeproj/project.pbxproj @@ -12,6 +12,7 @@ 107347AB20315A3A004A66D1 /* MessagingExampleUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 107347AA20315A3A004A66D1 /* MessagingExampleUITests.swift */; }; 5B334EAC56E0F5E167C81718 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 82E79B6D15A982EAE7B0E31B /* GoogleService-Info.plist */; }; 5F5A537E1ADE67D500F81DF0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */; }; + 5F5A53A11ADE67D500F81DF0 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A53A01ADE67D500F81DF0 /* SceneDelegate.swift */; }; 5F5A53801ADE67D500F81DF0 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A537F1ADE67D500F81DF0 /* ViewController.swift */; }; 5F99610B1AE0CF4F0034F503 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5F9961061AE0CF4F0034F503 /* Images.xcassets */; }; 5F99610D1AE0CF4F0034F503 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5F9961071AE0CF4F0034F503 /* LaunchScreen.xib */; }; @@ -61,6 +62,7 @@ 107347AC20315A3A004A66D1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 5F5A53791ADE67D500F81DF0 /* MessagingExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MessagingExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 5F5A53A01ADE67D500F81DF0 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; 5F5A537F1ADE67D500F81DF0 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; 5F9961061AE0CF4F0034F503 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 5F9961071AE0CF4F0034F503 /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LaunchScreen.xib; sourceTree = ""; }; @@ -180,6 +182,7 @@ EA2B4E662ED4F571003F9A40 /* Main.storyboard */, EAE93A8D2E86E558005ABAF0 /* MessagingExample.entitlements */, 5F5A537D1ADE67D500F81DF0 /* AppDelegate.swift */, + 5F5A53A01ADE67D500F81DF0 /* SceneDelegate.swift */, 5F5A537F1ADE67D500F81DF0 /* ViewController.swift */, ); path = MessagingExample; @@ -354,6 +357,7 @@ files = ( 5F5A53801ADE67D500F81DF0 /* ViewController.swift in Sources */, 5F5A537E1ADE67D500F81DF0 /* AppDelegate.swift in Sources */, + 5F5A53A11ADE67D500F81DF0 /* SceneDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/messaging/MessagingExample/AppDelegate.swift b/messaging/MessagingExample/AppDelegate.swift index 9fe1543a0..f70f2b200 100644 --- a/messaging/MessagingExample/AppDelegate.swift +++ b/messaging/MessagingExample/AppDelegate.swift @@ -22,7 +22,6 @@ import FirebaseMessaging @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? let gcmMessageIDKey = "gcm.message_id" func application(_ application: UIApplication, diff --git a/messaging/MessagingExample/Info.plist b/messaging/MessagingExample/Info.plist index dcc816fc8..9c9fa1328 100644 --- a/messaging/MessagingExample/Info.plist +++ b/messaging/MessagingExample/Info.plist @@ -28,6 +28,25 @@ LSRequiresIPhoneOS + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + UIBackgroundModes remote-notification diff --git a/messaging/MessagingExample/SceneDelegate.swift b/messaging/MessagingExample/SceneDelegate.swift new file mode 100644 index 000000000..694bbeee2 --- /dev/null +++ b/messaging/MessagingExample/SceneDelegate.swift @@ -0,0 +1,19 @@ +// Copyright 2026 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import UIKit + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + var window: UIWindow? +}