I have a visionOS app on the Apple Store, but can’t compile the latest version after the Xcode update to 16.0 because of the message:
The visionOS App Icon "AppIcon" must have at least 2 layers with applicable content. Although it has 3 layers, none have applicable content.
It turns out that the message is misleading, so I’ll keep the question here in case anyone else is mislead.
The format of each of the 3 images (Front/Middle/Back) is
- png
- Image Size: 1024 × 1024 pixels
- Color Space: sRGB IEC61966-2.1
- Alpha channel: yes
- Canvas size: 512
- Each layer: x2
-
I downloaded Apple’s visionOS sample Apps to verify the icons but unfortunately they didn’t include any icons
-
I checked the Apple icon development guide but couldn’t find anything in the visionOS section that I’d done wrong. And couldn’t find anything in the visionOS Human Interface guide either.
-
I used Figma’s Apple Vision Pro Icon design and recreated the three icon layers but the error remains.
-
I tried removing the alpha channel from the background layer.
I used to be able to distribute the app for visionOS with this 3-layer App icon but now it is refused.
3
The problem was caused by my project having two asset files, both containing the 3-layer visionOS icon. One asset file was a general asset file containing other assets in addition such as colors and images, but the second containing only the 3-layer icon was exclusively assigned to the visionOS target.
The solution was to delete the 3-layer icon from the general file. Then the (misleading) error no longer occurs and both iOS and visionOS files compile properly.
Note that if you include two coding artefacts with identical names (such as Views), then the compiler will display a good error message. It’s just the asset files that need special attention.