I‘ve seen such artifacts before - when creating a JPG with FFMPEG, and viewing it with macOS‘s Preview Application. I assume that your OS incorrectly interprets the file format - what’s your toolchain for creating this icon file?
Well I do it with success like you can see in these captures. Maybe crash your Xcode exporter and do it again ???
(My icon is a PNG 512 in 72 dpi and in the binary)
I’m seeing the exact same thing (latest master branch, XCode 11.13.1).
When I do Get info on the app, it does show my icon in the preview section, but the icon at the top left is the scrambled one. @fordc004 What do you mean with “I deleted the build for the XCode project, reran”? Do you mean: deleting the exporter for Mac in the Projucer and then re-creating it?
If I open the XCode project, select my application target under “TARGETS”, go to General --> App Icons and click the “Use asset catalog” button there, after the migration, I end up with a Source parameter with the value “Appicon”. When I build now, the app has the correct icon.
I also noticed this in Apple’s docs: “Don’t provide app icons in ICNS or JPEG format.** Add de-interlaced PNG files in the app icon fields of your Xcode project’s asset catalog.” The icon files I selected in the Projucer (small and large) are PNG files in my case (a bit small though: 72x72 and 144x144), so maybe something changed in XCode or the Projucer when it generates the necessary files for the app icon? And then when I click that button in XCode it does its own thing to set up the icons in the right way?
If I now look in the bundle, I see Icon.icns (which was there before I clicked that button) and also Appicon.icns (which was not there before). And the Info.plist now has 2 entries:
If you look in the project file where you will find the projucer file and the source file, there is a folder called builds. Deleting this (which contains xcode projects and a few other bits and pieces) often solves odd build errors like this as it will force the projucer to regenerate the whole thing.
My solution was fixing it when the installer is build, much later. I have a sane icon file, not generated by Projucer that I copy into the binary, before code signing and notarisation.