Did you figure out how to fix this? I'm also facing a similar issue, I try to get the AVAudioSession.sharedInstance().currentRoute.outputs but I'm just receiving an empty array, if I try it when the app is running, then I always receive the iPhone speaker in the outputs array.