Projucer generates invalid App Store icons

Upon running archive validation before uploading my app for review, I’m given the message “Invalid App Store Icon. The App Store Icon in the asset catalog in ‘-App Name-’ can’t be transparent nor contain an alpha channel.”. I’ve chosen an SVG as my app icon and Projucer generated all the sizes (which is an AWESOME feature) but they all seem to be PNGs with alpha channels which clearly isn’t allowed.

Is there some way they could be made non-transparent PNGs by Projucer? I’m imagining at some point before it gets written to a PNG it needs Image::convertedToFormat(Image::PixelFormat::RGB) somewhere…

For anyone who may run into this issue, I fixed this by patching ProjectExporter::rescaleImageForIcon in Projucer’s jucer_ProjectExporter.cpp to export Image::RGB types instead of Image::RGBA types. This undoubtedly has negative side effects on other platforms which support icon transparency, but works fine as a workaround.

Interesting that transparent app icons aren’t allowed, I think we’ve just never encountered this at ROLI as the app icons are opaque. I’ve just pushed a fix for this to develop that will draw images with an alpha channel onto an opaque white background when creating the iOS app icons as just changing the image format from ARGB to RGB results in a nasty black background.

1 Like