A workaround is to check the audio output device. But this has some caveats like you won't see CarPlay, when the user has AirPods active.
You can't enumerate available devices (at least I haven't seen the API yet). But you can get the currently active output without any additional entitlement.
Topic:
App & System Services
SubTopic:
CarPlay
Tags: