App icons go missing on MacBook

I've been having this problem for a while now and it really starts to bother me. Every once in a while, a lot of my app icons go missing in the dock, launchpad, finder, cmd-tab switcher, just everywhere.

Some pictures:

icons missing from finder icons missing from dock icons missing from launchpad

Obviously this is really annoying. I already tried a lot of stuff to solve it.

  • I tried relaunching the Finder
  • I tried relaunching the Dock (terminal: killall Dock)
  • I tried clearing icon cache

The only way I can (temporarily) solve this by doing the following:

  • Reboot, now the icons have reloaded in finder and launchpad, dock icons are still missing

  • go to Library/preferences/com.apple.dock.plist & delete the file

  • open terminal: killall Dock

This way everything is fixed, but I have to rearrange my dock again since I removed the preferences file. It is only a temporary fix though, the issue keeps coming back and I always have to do this, which is very annoying.

Does anyone know what causes this? How could I solve it permanently? It’s really getting frustrating!

Thanks a lot!


How to Rebuild Launchpad Database in OS X Yosemite (10.10) and Later

  1. Go to Library folder, which is hidden. To access it, click anywhere on desktop and make sure you see word 'Finder' in the top menu near Apple logo.
  2. Press and hold alt/option key and in the top menu bar select Go and finally Library.
  3. In the Library folder, locate and open the Application Support folder.
  4. In the Application Support folder, locate and open the Dock folder.
  5. You'll find a number of files in the Dock folder, including one named desktoppicture.db, and one or more files starting with a dashed set of capital letters and numbers and ending in .db. An example file name is FE0131A-54E1-2A8E-B0A0A77CFCA4.db. Grab all the files in the Dock folder with the dashed set of letters and numbers that end in .db and drag them to the trash or press ⌘/command + delete keys.
  6. Launch Terminal, located in the /Applications/Utilities folder.
  7. In the Terminal window, enter the following:

    defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock

Launchpad has now been reset. The next time you open Launchpad, the app will rebuild the databases it needs. Launchpad may take a bit longer than usual to launch the first time, and the Launchpad display will now be in its default organization, with Apple apps shown first, and third-party apps next.


Rebuilding the macOS internal launch services database might help.

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

Once completed, you may need to restart Finder.

Sources:

  • How to fix Mac desktop icons
  • Rebuild LaunchServices to Fix Duplicate Entries in OS X’s ‘Open With’ Menu
  • Clean out a messy Open With menu in the Finder

resetting the icon cache worked for me.

  • Launch Terminal
  • Enter the following commands, one at a time:
sudo find /private/var/folders/ -name com.apple.dock.iconcache -exec rm {} \;
sudo find /private/var/folders/ -name com.apple.iconservices -exec rm -rf {} \;
sudo rm -rf /Library/Caches/com.apple.iconservices.store
killall Dock