Rise of the Appex: What are App Extensions?
Open System Settings, then General, and Login Items & Extensions. Scroll to the end of that list and you’ll see a section titled Extensions. All looks tidy there and in order, but you’re looking at the tip of the iceberg. Click on the ⓘ button at the right of any of those entries, and prepare to be thoroughly confused. These aren’t, of course, kernel extensions, nor are they only system extensions (although some may be), they’re app extensions, conveniently shortened to appexes, the subject of this article.
System Settings
That section in System Settings is unusual as its list depends entirely on what you have installed on your Mac. Among those you’re most likely to see are:
- Actions allow access to an app’s functions from within other apps, such as Markup provided by macOS.
- Dock Tiles customise the Dock and normally run in the background (although not listed in Background items above), including several phantom ‘apps’ added by macOS.
- File Providers allow you to see both local and remote-storage files together in the Finder, and normally run in the background (although not listed in Background items above). Note this isn’t confined to ‘file providers’ in the sense of cloud services like iCloud Drive.
- File System Extensions, userland file systems, including ExFAT and MSDOS in macOS 15.4, which are intended to replace kernel extensions.
- Finder provides enhanced search and other functions for files and more. These can also be accessed directly through the Quick Actions item in the Finder’s contextual menu.
- Photos Editing provides enhanced editing in the Photos app. This also includes Markup provided by macOS.
- Quick Look includes custom QuickLook thumbnail and preview extensions, replacing qlgenerators.
- Sharing includes features provided in the Share menu. These include some from macOS that can’t be disabled, such as Mail and Messages, others that are optional, as well as third-party apps.
- Spotlight includes custom mdimporter modules to extract indexable content from custom file types not supported by macOS.
To add to the uncertainty, not all those available in Sequoia 15.4 are listed in the Mac User Guide’s total of 17 classes, or Apple’s list of 25 for developers.
Where are appexes?
Most of these are installed as .appex bundles inside a PlugIns folder inside the bundle of an app, although some can instead be in a Library folder inside the app. The best information about each is in the Info.plist file in their appex bundle. In that, the nested dictionary of NSExtensionAttributes is most informative. That gives the NSExtensionPointIdentifier type, which for a QuickLook appex might be com.apple.quicklook.preview
, indicating that it generates custom previews for QuickLook, in the way that qlgenerators used to. That type corresponds to the SDK entry listed by pluginkit
, described below.
Not all appexes are exposed in System Settings, though. New-style drivers supplied in .dext bundles, that are listed as extensions, aren’t included despite there being 17 bundled in macOS 15.4. There’s also no mention of nearly 200 appexes provided in /System/Library/ExtensionKit/Extensions.
pluginkit
In addition to their control in System Settings, the command tool for working with appexes is pluginkit
. Most of its options are aimed at those developing and debugging their own appexes, but there’s one command that will dump details of all managed appexes to a lengthy text file, with a form likepluginkit -m -vv > ~/Documents/pluginkitOut.text
which pipes its output to the file at ~/Documents/pluginkitOut.text. You can add another v
to the options for greater details.
The output from pluginkit
reveals just how many appexes there are, possibly as many as 500 or more installed in your Mac. Most are system components that aren’t exposed in System Settings, and many have SDK names, specifying their type, that fall outside the categories listed by Apple. For instance, there’s a com.apple.CloudDocs.iCloudDriveFileProvider
appex buried deep in the CloudDocs private framework that has an SDK type of com.apple.fileprovider-nonui
for iCloud Drive.
Anomalies
Extensions settings currently appears to be a work in progress. It’s among the most opaque sections in System Settings, with all of its controls accessed through ⓘ buttons and floating windows, rather than being laid out clearly. It’s riddled with inconsistencies, and some sections don’t appear to work properly, most notably Quick Look.
This screenshot shows that Apparency’s Quick Look appex is currently disabled, but at the right is a QuickLook preview demonstrating Apparency’s customisation. This applies to other custom Quick Look appexes in Sequoia 15.4: when apparently disabled, they continue to work normally.
As system qlgenerators aren’t included in the Quick Look list, it can’t be used to disable those to allow third-party appexes to generate thumbnails and previews instead, which might have been a useful function.
Summary
- Appexes are app extensions, now found in the PlugIns or Library folders within app bundles.
- Although some appexes are also system extensions, or their relatives, most aren’t, and simply extend that app’s features.
- Many appexes are controlled in System Settings > General > Login Items & Extensions, at the end.
- Lists shown there vary according to which types of appex are installed. Click on the ⓘ button to view and control them.
- Some system appexes are listed but can’t be disabled, while others can be.
- They can also be controlled and listed using the
pluginkit
command tool, although that’s not straightforward. - In Sequoia 15.4, Quick Look appex controls appear dysfunctional.
References
man pluginkit
Apple’s developer master page with links to documentation
QuickLook and its appexes
Dock tile appexes.