Tuesday, June 28, 2022

Creating Custom Extension Points for Mac Apps With ExtensionKit

Guilherme Rambo (tweet):

We’ve been able to develop extensions for Apple’s apps and operating systems for a while, but Apple never offered a native way for third-party apps to provide custom extension points that other apps can take advantage of.

With ExtensionFoundation and ExtensionKit on macOS, now we can.

However, Apple’s documentation lacks crucial information on how to use these new APIs (FB10140097), and there were no WWDC sessions or sample code available in the weeks following the keynote.

Thanks to some trial and error, and some help from other developers, I was able to put together some sample code demonstrating how one can use ExtensionFoundation/ExtensionKit to define custom extension points for their Mac apps.

Update (2022-06-30): Jesper:

This is not the first time I’m getting these vibes from Apple frameworks; IOSurface and its ilk has been like that, and the sessions on ScreenCaptureKit were almost comical at their circuitous avoidance of describing what you actually do with the audio/video buffers you are handed.

[…]

Apple is big enough that it’s time to grow beyond the scrappy image, respect developers both inside and outside the company and allocate time and opportunity to move beyond “no overview available”.

Comments RSS · Twitter

Leave a Comment