ToothFairy 2.8.8
ToothFairy 2.8.8 is a maintenance update of my Bluetooth menu bar utility.
As annoying as Bluetooth is as a user, it’s even more so as developer. Seemingly straightforward APIs don’t work as advertised. I don’t just mean that they can fail with an error. They can fail but say that they succeeded. They can succeed but say that they failed. Sometimes the synchronous API will work when the asynchronous one doesn’t or vice-versa. Sometimes the async API never calls back.
With each major new macOS release, I hope it will fix some of this, but each seems to add its own new wrinkle that requires a workaround. With Tahoe, the issue is that IOBluetoothDeviceSelectorController
sometimes doesn’t show devices even though they are paired with the Mac. They work and show up in System Settings but not in the Bluetooth chooser dialog to add them to a third-party app. This never seems to happen with AirPods, perhaps because their pairing is handled differently and syncs via iCloud, but it seems to be reasonably common with third-party headphones and input devices (and even Apple’s own Magic mouse/keyboard/trackpad).
Previously: