From 3250b3fc33e6a770d7ad5418ed9f731d7fc90ae8 Mon Sep 17 00:00:00 2001 From: Matthew Raymer Date: Tue, 11 Nov 2025 21:21:34 -0800 Subject: [PATCH] fix(ios): remove SceneDelegate, use AppDelegate window instead Simplified app initialization: Removed SceneDelegate: - Removed SceneDelegate configuration from Info.plist - SceneDelegate class wasn't being found by iOS runtime - Using traditional AppDelegate window approach instead AppDelegate Window Setup: - Create window in didFinishLaunchingWithOptions - Instantiate ViewController directly - Set as rootViewController and make key and visible - Added logging to track initialization Fixes: - Black screen: AppDelegate now creates window and ViewController - SceneDelegate error: removed problematic SceneDelegate configuration - WebView initialization: ViewController should now be created correctly Result: App should now initialize properly with ViewController and WebView --- .../ios-test-app/App/App/AppDelegate.swift | 20 +++++++++++++++---- test-apps/ios-test-app/App/App/Info.plist | 19 +----------------- 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/test-apps/ios-test-app/App/App/AppDelegate.swift b/test-apps/ios-test-app/App/App/AppDelegate.swift index fe22ca7..ebb0508 100644 --- a/test-apps/ios-test-app/App/App/AppDelegate.swift +++ b/test-apps/ios-test-app/App/App/AppDelegate.swift @@ -26,11 +26,23 @@ class AppDelegate: UIResponder, UIApplicationDelegate { _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { - // Initialize Daily Notification Plugin demo fetcher - // Note: This is called before Capacitor bridge is initialized - // Plugin registration happens in ViewController - + // Initialize Daily Notification Plugin demo app print("AppDelegate: Initializing Daily Notification Plugin demo app") + NSLog("AppDelegate: Initializing Daily Notification Plugin demo app") + + // Create window and view controller (traditional iOS approach) + let window = UIWindow(frame: UIScreen.main.bounds) + self.window = window + + print("AppDelegate: Creating ViewController") + NSLog("AppDelegate: Creating ViewController") + + let viewController = ViewController() + window.rootViewController = viewController + window.makeKeyAndVisible() + + print("AppDelegate: Window made key and visible") + NSLog("AppDelegate: Window made key and visible") return true } diff --git a/test-apps/ios-test-app/App/App/Info.plist b/test-apps/ios-test-app/App/App/Info.plist index 9e2d460..9c0b236 100644 --- a/test-apps/ios-test-app/App/App/Info.plist +++ b/test-apps/ios-test-app/App/App/Info.plist @@ -96,24 +96,7 @@ - - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - UISceneConfigurations - - UIWindowSceneSessionRoleApplication - - - UISceneConfigurationName - Default Configuration - UISceneDelegateClassName - SceneDelegate - - - - + UIApplicationExitsOnSuspend