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:
But, in Finder or Alfred only a generic icon is shown:
another example is Internet Accounts:
vs
I notice even in Finder, the generic icons are shown:
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:
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