[pve-devel] [PATCH pve_flutter_frontend v2 0/2] feat #6983: add dark and tint mode support for app icon
Shan Shaji
s.shaji at proxmox.com
Fri Oct 31 17:32:35 CET 2025
Previously, the home screen customization that allows users to change
the light, dark, and tint options was not reflected in the app icon.
This was because no dark mode variant and tint variant was added in
the asset catalogue.
To support dark mode icons, the new App Icon Composer was used to
create icons for light, dark, and tint variants with liquid glass
support. The app icon now adapts dynamically based on the user’s
customization selection.
For older iOS versions the behavior would be the following:
> If your app supports previous releases (in the Minimum Deployments settings in the
> target’s General pane) that don’t have the same icon and widget style appearances
> and Liquid Glass material, Xcode automatically generates app icon images at build
> time for those releases from the Icon Composer file.
The above qouted paragraph is taken from apple's documentation [1]. Since
the composer file will be used for generating icons i have deleted
asset catalogue files as well.
The ticket #6983 [0] has also some other issues that needs to be addressed
which i will be sending as another patch series.
- [0] https://bugzilla.proxmox.com/show_bug.cgi?id=6983
- [1] https://developer.apple.com/documentation/Xcode/creating-your-app-icon-using-icon-composer
Testing
=============
Verified the changes in Test Flight build 1.9.0(48). I have also tested
the changes in the following simulator devices as well:
- Iphone 16e (iOS 18.5)
- Iphone 16e (iOS 26.0.1)
- Ipad Air 11-inch (iOS 26.0)
- Ipad Air 11 (iOS 18.5)
changes since v1:
- Moved the .icon file to Runner folder from the iOS folder.
Shan Shaji (2):
fix #6983: ios: allow dark and tint mode icon using icon composer file
chore: ios: delete asset catalogue files in favor of icon composer
file
ios/Runner.xcodeproj/project.pbxproj | 11 +-
ios/Runner/AppIcon.icon/Assets/dark.svg | 6 +
ios/Runner/AppIcon.icon/Assets/light.svg | 6 +
ios/Runner/AppIcon.icon/icon.json | 52 ++++++++
.../AppIcon.appiconset/Contents.json | 122 ------------------
.../Icon-App-1024x1024 at 1x.png | Bin 126022 -> 0 bytes
.../AppIcon.appiconset/Icon-App-20x20 at 1x.png | Bin 692 -> 0 bytes
.../AppIcon.appiconset/Icon-App-20x20 at 2x.png | Bin 2050 -> 0 bytes
.../AppIcon.appiconset/Icon-App-20x20 at 3x.png | Bin 3321 -> 0 bytes
.../AppIcon.appiconset/Icon-App-29x29 at 1x.png | Bin 1425 -> 0 bytes
.../AppIcon.appiconset/Icon-App-29x29 at 2x.png | Bin 3367 -> 0 bytes
.../AppIcon.appiconset/Icon-App-29x29 at 3x.png | Bin 5147 -> 0 bytes
.../AppIcon.appiconset/Icon-App-40x40 at 1x.png | Bin 2050 -> 0 bytes
.../AppIcon.appiconset/Icon-App-40x40 at 2x.png | Bin 4699 -> 0 bytes
.../AppIcon.appiconset/Icon-App-40x40 at 3x.png | Bin 7470 -> 0 bytes
.../AppIcon.appiconset/Icon-App-60x60 at 2x.png | Bin 7470 -> 0 bytes
.../AppIcon.appiconset/Icon-App-60x60 at 3x.png | Bin 11744 -> 0 bytes
.../AppIcon.appiconset/Icon-App-76x76 at 1x.png | Bin 4378 -> 0 bytes
.../AppIcon.appiconset/Icon-App-76x76 at 2x.png | Bin 9529 -> 0 bytes
.../Icon-App-83.5x83.5 at 2x.png | Bin 1418 -> 0 bytes
20 files changed, 73 insertions(+), 124 deletions(-)
create mode 100644 ios/Runner/AppIcon.icon/Assets/dark.svg
create mode 100644 ios/Runner/AppIcon.icon/Assets/light.svg
create mode 100644 ios/Runner/AppIcon.icon/icon.json
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024 at 1x.png
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20 at 1x.png
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20 at 2x.png
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20 at 3x.png
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29 at 1x.png
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29 at 2x.png
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29 at 3x.png
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40 at 1x.png
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40 at 2x.png
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40 at 3x.png
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60 at 2x.png
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60 at 3x.png
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76 at 1x.png
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76 at 2x.png
delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5 at 2x.png
--
2.50.1
More information about the pve-devel
mailing list