From 37469a163b70790929cd291fcdbb98855f89556c Mon Sep 17 00:00:00 2001 From: Cengiz Date: Tue, 19 May 2026 15:01:37 +0600 Subject: [PATCH] [ios] Forward UIScene lifecycle callbacks to app delegate services --- drivers/apple_embedded/godot_app_delegate.mm | 30 ++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/drivers/apple_embedded/godot_app_delegate.mm b/drivers/apple_embedded/godot_app_delegate.mm index b3360e4a01..0db9304e2f 100644 --- a/drivers/apple_embedded/godot_app_delegate.mm +++ b/drivers/apple_embedded/godot_app_delegate.mm @@ -120,6 +120,36 @@ static NSMutableArray *services = nil; - (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet *)sceneSessions API_AVAILABLE(ios(13.0), tvos(13.0), visionos(1.0)) { } +- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions API_AVAILABLE(ios(13.0), tvos(13.0), visionos(1.0)) { + for (GDTAppDelegateServiceProtocol *service in services) { + if (![service respondsToSelector:_cmd]) { + continue; + } + + [service scene:scene willConnectToSession:session options:connectionOptions]; + } +} + +- (void)scene:(UIScene *)scene openURLContexts:(NSSet *)URLContexts API_AVAILABLE(ios(13.0), tvos(13.0), visionos(1.0)) { + for (GDTAppDelegateServiceProtocol *service in services) { + if (![service respondsToSelector:_cmd]) { + continue; + } + + [service scene:scene openURLContexts:URLContexts]; + } +} + +- (void)scene:(UIScene *)scene continueUserActivity:(NSUserActivity *)userActivity API_AVAILABLE(ios(13.0), tvos(13.0), visionos(1.0)) { + for (GDTAppDelegateServiceProtocol *service in services) { + if (![service respondsToSelector:_cmd]) { + continue; + } + + [service scene:scene continueUserActivity:userActivity]; + } +} + // MARK: Life-Cycle - (void)sceneDidDisconnect:(UIScene *)scene API_AVAILABLE(ios(13.0), tvos(13.0), visionos(1.0)) {