[pve-devel] [PATCH pve_flutter_frontend] chore: ios: update bundle identifier and display name

Dominik Csapak d.csapak at proxmox.com
Tue Jul 15 13:28:02 CEST 2025


On 7/10/25 10:44, Shan Shaji wrote:
> For iOS, the bundle identifier and display name were incorrect. The
> issue was fixed by updating the bundle identifier to
> `com.proxmox.proxmox-ve-companion` and the display name to "Proxmox VE".

ok i understand the name change, but what exactly was wrong with

'com.proxmox.pveFlutterFrontend' ?

are there any guidelines or rules in the app store that would prevent us from using that?

I'm not saying we can't change this, but it would be good to record the reason at least...

Aside from that the patch looks good to me:

Reviewed-by: Dominik Csapak <d.csapak at proxmox.com>

side note: I'd like to have a testbed where i could test ios changes before i start applying
things...

> 
> A new `APP_DISPLAY_NAME` variable was defined in the build settings
> and is used for both `CFBundleName` [0] and `CFBundleDisplayName` [1].
> 
> The name was not set to "Proxmox VE Companion" because iOS will
> truncate long names on the home screen due to character limits. When
> the above name was set, the name was appearing as "ProxmoxVECo...".
> 
> - [0] https://developer.apple.com/documentation/bundleresources/information-property-list/cfbundlename
> - [1] https://developer.apple.com/documentation/bundleresources/information-property-list/cfbundledisplayname
> 
> Signed-off-by: Shan Shaji <s.shaji at proxmox.com>
> ---
>   
>   All changes are done using Xcode, that's why there are changes
>   inside the Xcode project file [0] (.pbxproj). The new variable was added
>   using the build settings [1]. The .plist [2] file was updated using
>   the info pain under target.
> 
>   - [0] https://developer.apple.com/library/archive/featuredarticles/XcodeConcepts/Concept-Projects.html
>   - [1] https://help.apple.com/xcode/mac/current/#/dev382dac089
>   - [2] https://help.apple.com/xcode/mac/current/#/dev37c2f42ff
> 
>   ios/Runner.xcodeproj/project.pbxproj | 9 ++++++---
>   ios/Runner/Info.plist                | 4 ++--
>   2 files changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
> index fa595a2..102a964 100644
> --- a/ios/Runner.xcodeproj/project.pbxproj
> +++ b/ios/Runner.xcodeproj/project.pbxproj
> @@ -359,6 +359,7 @@
>   			isa = XCBuildConfiguration;
>   			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
>   			buildSettings = {
> +				APP_DISPLAY_NAME = "Proxmox VE";
>   				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
>   				CLANG_ENABLE_MODULES = YES;
>   				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
> @@ -368,7 +369,7 @@
>   					"$(inherited)",
>   					"@executable_path/Frameworks",
>   				);
> -				PRODUCT_BUNDLE_IDENTIFIER = com.proxmox.app.pveFlutterFrontend;
> +				PRODUCT_BUNDLE_IDENTIFIER = "com.proxmox.proxmox-ve-companion";
>   				PRODUCT_NAME = "$(TARGET_NAME)";
>   				SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
>   				SWIFT_VERSION = 5.0;
> @@ -538,6 +539,7 @@
>   			isa = XCBuildConfiguration;
>   			baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
>   			buildSettings = {
> +				APP_DISPLAY_NAME = "Proxmox VE";
>   				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
>   				CLANG_ENABLE_MODULES = YES;
>   				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
> @@ -547,7 +549,7 @@
>   					"$(inherited)",
>   					"@executable_path/Frameworks",
>   				);
> -				PRODUCT_BUNDLE_IDENTIFIER = com.proxmox.app.pveFlutterFrontend;
> +				PRODUCT_BUNDLE_IDENTIFIER = "com.proxmox.proxmox-ve-companion";
>   				PRODUCT_NAME = "$(TARGET_NAME)";
>   				SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
>   				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
> @@ -560,6 +562,7 @@
>   			isa = XCBuildConfiguration;
>   			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
>   			buildSettings = {
> +				APP_DISPLAY_NAME = "Proxmox VE";
>   				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
>   				CLANG_ENABLE_MODULES = YES;
>   				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
> @@ -569,7 +572,7 @@
>   					"$(inherited)",
>   					"@executable_path/Frameworks",
>   				);
> -				PRODUCT_BUNDLE_IDENTIFIER = com.proxmox.app.pveFlutterFrontend;
> +				PRODUCT_BUNDLE_IDENTIFIER = "com.proxmox.proxmox-ve-companion";
>   				PRODUCT_NAME = "$(TARGET_NAME)";
>   				SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
>   				SWIFT_VERSION = 5.0;
> diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
> index ef3f061..1608de0 100644
> --- a/ios/Runner/Info.plist
> +++ b/ios/Runner/Info.plist
> @@ -5,7 +5,7 @@
>   	<key>CFBundleDevelopmentRegion</key>
>   	<string>$(DEVELOPMENT_LANGUAGE)</string>
>   	<key>CFBundleDisplayName</key>
> -	<string>Pve Flutter Frontend</string>
> +	<string>$(APP_DISPLAY_NAME)</string>
>   	<key>CFBundleExecutable</key>
>   	<string>$(EXECUTABLE_NAME)</string>
>   	<key>CFBundleIdentifier</key>
> @@ -13,7 +13,7 @@
>   	<key>CFBundleInfoDictionaryVersion</key>
>   	<string>6.0</string>
>   	<key>CFBundleName</key>
> -	<string>pve_flutter_frontend</string>
> +	<string>$(APP_DISPLAY_NAME)</string>
>   	<key>CFBundlePackageType</key>
>   	<string>APPL</string>
>   	<key>CFBundleShortVersionString</key>





More information about the pve-devel mailing list