MacOS – Why are some System Preferences icons “Generic” in macOS 10.15 Catalina

catalinamacossystem-prefs

Something weird is going on with the Icons for a few of the built-in System Preference prefPanes in macOS 10.15.x Catalina. For example, "Bluetooth" and "Internet Accounts". When I search Spotlight for these, the proper icon is displayed:

bt-spotlight

But, in Finder or Alfred only a generic icon is shown:

bt-alfred

another example is Internet Accounts:

internet-spotlight

vs

internet-alfred

I notice even in Finder, the generic icons are shown:

generic-Finder

Only Spotlight and the System Preferences.app itself seem capable of showing the proper icon. I opened the Contents folder of the prefPane bundle to investigate. It seems like Info.plist contained within specifies icons via keys such as NSPrefPaneIconFile and CFBundleIconFile but even in that case, the file referenced doesn't seem to exist on the filesystem anywhere that I can find.

E.g. for Bluetooth, NSPrefPaneIconFile = "BluetoothAqua.png" — but that file doesn't exist. Similarly, Internet Accounts specifies InternetAccountsIcons.icns and InternetAccountsIcon40.png as icons, but these are nowhere to be found:

terminal-no-results

Does anyone know what's going on here, or where the icon resources are being loaded from?

edit: Found some additional info about this. The icons for these prefPanes are being sourced from a compressed Assets.car (CoreUI Archive) within the bundle. Here are some related links I found:

Reverse engineering the .car file format

insidegui/AssetCatalogTinkerer: open .car files and browse/extract their images

Analysing Assets.car file in iOS

steventroughtonsmith/cartool: Export images from CoreUI archives

Best Answer

The icons are present: they're just not being picked up by the Finder. That could be a caching problem (of the Finder's).

In the 10 months since this question was asked, it's possible that a system update may have fixed it (by clearing caches as part of the installation, rather than any pro-active fixing).