New app icon won't replace old version icon

I updated my icon in one of my long standing apps.
The new icon appears in the dock when I run the app from the Xojo IDE but when I install onto my Mac it replaces the old app in Applications and the new version certainly opens but with the old icon in the dock.
Why is this? I tried completely uninstalling the old version before installing and still the old icon appears in the dock.

Did you increase the version number? And did you use a bundle identifier that’s specific to your app?

I remember something like this happening occasionally; macOS apparently needs some time to catch up with such changes. (In the good old days before Mac OS X we used to rebuild the desktop database to fix such issues; no idea if there’s a modern equivalent.)

reboot

1 Like

I had similar and found old versions of the software hanging around in odd places.

Yes

Yes I’ve tried that. I even uninstalled the old version completely before rebooting. There is no other copies on the system.

Remove the old application version…

Move it on an external HD / SSD / Memory Stick, eject it and reboot.

It can happen with all kinds of apps, for example Adobe’s – see https://community.adobe.com/t5/download-install-discussions/the-mac-dock-still-shows-the-old-cc-icons-even-though-i-have-the-latest-version/m-p/11292479

1 Like

Yes it seems to be an Apple problem. New users to my app get the new icon while existing users get the old one.

If it’s any help -
In the package contents Resources folder there is a file called app.icn which is the old icon.
If I delete this file the app has a blank icon in the dock when running.
If I make a fresh build of the app in Xojo the file contains the new icon as expected.
Now drag to Applications to replace the old version and the file is now the old icon.

Have you updated every size of the App Icon in Xojo. There are quite a few sizes to update. Click on the App Icon editor, if there are a mix of icons that’s you problem.

Different machine would show different sizes depending on screen resolution and settings.

Yes I always do.

Fair enough.