From c511462536a133c0b67454beb5ec01f96e7c6b49 Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Thu, 9 Jul 2026 00:11:54 +0200 Subject: [PATCH] feat(clients/apple): enable Game Mode across Apple platforms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Opt macOS and iOS into system Game Mode (GCSupportsGameMode=YES) and unify the App Store category to Games across macOS/iOS/tvOS (tvOS omits the key — no Game Mode there). Game Mode engages automatically when the stream is native-fullscreen (already the default), giving GPU/CPU priority and doubling controller/AirPods Bluetooth polling for lower input/audio latency — parity with the Android client's appCategory=game. Verified: macOS/iOS/tvOS Debug builds succeed and the produced bundle Info.plists carry the expected keys. Co-Authored-By: Claude Opus 4.8 --- .../apple/Punktfunk.xcodeproj/project.pbxproj | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/clients/apple/Punktfunk.xcodeproj/project.pbxproj b/clients/apple/Punktfunk.xcodeproj/project.pbxproj index 666c3ad4..36770c6e 100644 --- a/clients/apple/Punktfunk.xcodeproj/project.pbxproj +++ b/clients/apple/Punktfunk.xcodeproj/project.pbxproj @@ -366,7 +366,8 @@ INFOPLIST_FILE = Config/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Punktfunk; INFOPLIST_KEY_GCSupportsControllerUserInteraction = YES; - INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; + INFOPLIST_KEY_GCSupportsGameMode = YES; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Punktfunk connects directly to your punktfunk host on the local network to stream video, audio, and input."; INFOPLIST_KEY_NSMicrophoneUsageDescription = "Your microphone is streamed to the connected punktfunk host, where it appears as a virtual microphone."; @@ -401,7 +402,8 @@ INFOPLIST_FILE = Config/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Punktfunk; INFOPLIST_KEY_GCSupportsControllerUserInteraction = YES; - INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; + INFOPLIST_KEY_GCSupportsGameMode = YES; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; INFOPLIST_KEY_NSHumanReadableCopyright = ""; INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Punktfunk connects directly to your punktfunk host on the local network to stream video, audio, and input."; INFOPLIST_KEY_NSMicrophoneUsageDescription = "Your microphone is streamed to the connected punktfunk host, where it appears as a virtual microphone."; @@ -433,7 +435,8 @@ INFOPLIST_FILE = Config/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Punktfunk; INFOPLIST_KEY_GCSupportsControllerUserInteraction = YES; - INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; + INFOPLIST_KEY_GCSupportsGameMode = YES; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Punktfunk connects directly to your punktfunk host on the local network to stream video, audio, and input."; INFOPLIST_KEY_NSMicrophoneUsageDescription = "Your microphone is streamed to the connected punktfunk host, where it appears as a virtual microphone."; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; @@ -473,7 +476,8 @@ INFOPLIST_FILE = Config/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Punktfunk; INFOPLIST_KEY_GCSupportsControllerUserInteraction = YES; - INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; + INFOPLIST_KEY_GCSupportsGameMode = YES; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Punktfunk connects directly to your punktfunk host on the local network to stream video, audio, and input."; INFOPLIST_KEY_NSMicrophoneUsageDescription = "Your microphone is streamed to the connected punktfunk host, where it appears as a virtual microphone."; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; @@ -511,7 +515,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = Config/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Punktfunk; - INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Punktfunk connects directly to your punktfunk host on the local network to stream video, audio, and input."; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; LD_RUNPATH_SEARCH_PATHS = ( @@ -541,7 +545,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = Config/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Punktfunk; - INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.games"; INFOPLIST_KEY_NSLocalNetworkUsageDescription = "Punktfunk connects directly to your punktfunk host on the local network to stream video, audio, and input."; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; LD_RUNPATH_SEARCH_PATHS = (