Extended Runtime Session vs HKWorkoutSession Issues

I am working on an Apple Watch companion app to an existing live iOS app. I am utilizing the heart rate tracking for an active 'self-care' sauna session. I say self-care in quotes because it's more self-care than a workout activity, but it is closely blurring the lines between the two.

I have come to understand that if a session truly isn't a workout, then you should not use workoutSession.startActivity. However the app needs to function entirely like a workout would. This is not a meditation application. Sauna is actually just one of many activity types supported in the app.

I have tried using extended runtime session, and there have been numerous issues with doing so. It is not nearly as robust for the user. For example, the active session is not prioritized by the watch's CPU. Now playing is no longer functional. Heart rate is far more inconsistent, and this variable is as critical as if it were in a workout.

I have tried using HKWorkoutSession, however I worry the app will be rejected by doing so. This method works most accurately to collect the right data for the user, and prioritizes system resources as expected. The app can be moved to the background as expected and continue to communicate with the iOS app.

What is the best way to move forward here. It almost feels like I am operating in a grey area with no real solution in place. Any assistance is greatly appreciated as we would like to follow all guidelines while producing a high quality experience for our users.

It seems that you'd like to figure out if using a workout session in your use case is appropriate to App Review, which I believe only App Review can answer. You can ask App Review here, though I am not sure if the team can answer before you really have your app submitted for review.

Best,
——
Ziqiao Chen
 Worldwide Developer Relations.

Hey Ziqiao...

Sent over a request to the App review team now. Appreciate the response.

Will update here when I learn more as I assume others may have similar experiences between the two implementations.

Extended Runtime Session vs HKWorkoutSession Issues
 
 
Q