I have a iOS/watchOS app that gives audio cues, like a metronome, on specific patterns. The intent of the watch app is to have it at the same time as a workout app (ie Strava, Apple Fitness) and/or a music app (Spotify/Apple Music). The app works in the foreground just fine. But if I start another app (i.e. Strava) the haptic feedback and a "ding" continues to play in the background, but the "beep or voice" stops. Beep/voice works fine in iOS when in the background, just not in watchOS.
As documented here, WKExtendedRuntimeSession is meant to be used with self care, mindfulness, physical therapy, or smart alarm. Using the API in other use case will risk an App Review rejection.
Will your use case be considered as self care (or other session type)? I can't speak for the App Review team, but you can probably start with contacting the team here to see what they have to say.
As documented here, WKExtendedRuntimeSession + self care is a frontmost session, which will expire in 10 minutes. Also, the session will be terminated if you explicitly leave your app by pressing the digital crown or switching to a different app. If that happens, your app will be suspended soon after, which may explain why your app can't play audio from background.
The other option is to use audio background mode, as described here, but again, I can't speak for App Review if your use case is qualified to use the mode.
Does .longFormAudio work correctly with .mixWithOthers, or are those contradictory?
My experience on audio is quite limited, but the community seems to be able to make it work. See here.
Best,
——
Ziqiao Chen
Worldwide Developer Relations.