From 2cbcbc888218f876bfacb840b450d7cba6c52ae3 Mon Sep 17 00:00:00 2001 From: reuk Date: Tue, 29 Jul 2025 13:24:14 +0100 Subject: [PATCH] iOS: Update Info.plist generation to include UIApplicationSceneManifest This suppresses the "Info.plist contained no UIScene configuration dictionary" warning, raised at runtime in the Xcode console. --- examples/DemoRunner/Builds/iOS/Info-App.plist | 7 +++++++ extras/AudioPerformanceTest/Builds/iOS/Info-App.plist | 7 +++++++ extras/AudioPluginHost/Builds/iOS/Info-App.plist | 7 +++++++ .../Build/juce_build_tools/utils/juce_PlistOptions.cpp | 9 +++++++++ extras/NetworkGraphicsDemo/Builds/iOS/Info-App.plist | 7 +++++++ 5 files changed, 37 insertions(+) diff --git a/examples/DemoRunner/Builds/iOS/Info-App.plist b/examples/DemoRunner/Builds/iOS/Info-App.plist index d8b1054a27..9adbb45a6f 100644 --- a/examples/DemoRunner/Builds/iOS/Info-App.plist +++ b/examples/DemoRunner/Builds/iOS/Info-App.plist @@ -17,6 +17,13 @@ UILaunchStoryboardName LaunchScreen + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier diff --git a/extras/AudioPerformanceTest/Builds/iOS/Info-App.plist b/extras/AudioPerformanceTest/Builds/iOS/Info-App.plist index 7223a0460a..49fb828a02 100644 --- a/extras/AudioPerformanceTest/Builds/iOS/Info-App.plist +++ b/extras/AudioPerformanceTest/Builds/iOS/Info-App.plist @@ -9,6 +9,13 @@ UILaunchStoryboardName LaunchScreen + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier diff --git a/extras/AudioPluginHost/Builds/iOS/Info-App.plist b/extras/AudioPluginHost/Builds/iOS/Info-App.plist index 9be3f85435..902b6b63ad 100644 --- a/extras/AudioPluginHost/Builds/iOS/Info-App.plist +++ b/extras/AudioPluginHost/Builds/iOS/Info-App.plist @@ -11,6 +11,13 @@ UILaunchStoryboardName LaunchScreen + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier diff --git a/extras/Build/juce_build_tools/utils/juce_PlistOptions.cpp b/extras/Build/juce_build_tools/utils/juce_PlistOptions.cpp index eba17c96c3..af02ab5687 100644 --- a/extras/Build/juce_build_tools/utils/juce_PlistOptions.cpp +++ b/extras/Build/juce_build_tools/utils/juce_PlistOptions.cpp @@ -165,6 +165,15 @@ namespace juce::build_tools if (shouldAddStoryboardToProject) addPlistDictionaryKey (*dict, "UILaunchStoryboardName", storyboardName); + + XmlElement sceneManifestKey ("key"); + sceneManifestKey.addTextElement ("UIApplicationSceneManifest"); + dict->addChildElement (new XmlElement (sceneManifestKey)); + + auto* sceneManifestDict = dict->createNewChildElement ("dict"); + addPlistDictionaryKey (*sceneManifestDict, "UIApplicationSupportsMultipleScenes", false); + addKeyIfNotFound (*sceneManifestDict, "UISceneConfigurations"); + sceneManifestDict->createNewChildElement ("dict"); } else { diff --git a/extras/NetworkGraphicsDemo/Builds/iOS/Info-App.plist b/extras/NetworkGraphicsDemo/Builds/iOS/Info-App.plist index db1a8b3bbc..01a4708006 100644 --- a/extras/NetworkGraphicsDemo/Builds/iOS/Info-App.plist +++ b/extras/NetworkGraphicsDemo/Builds/iOS/Info-App.plist @@ -9,6 +9,13 @@ UILaunchStoryboardName LaunchScreen + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier