I'm trying to run this example project: https://developer.apple.com/documentation/HealthKit/building-a-multidevice-workout-app
When I run it on my device (iPhone 16 Pro and Apple Watch Ultra 2)
I get this error:
-[SPRemoteInterface _appRecoverAnyExtendedRuntimeSession:]_block_invoke:4350: Got no sessions back from -[CSLSSessionService existingRunningSessions:] or -[CSLSSessionService existingScheduledSessions:] after receiving a PUICInitializeSessionServiceAction
I start the workout from my phone, which successfully starts the workout on the watch. But this callback is never triggered on the phone:
healthStore.workoutSessionMirroringStartHandler {
// not happening
}
This makes it difficult to learn the mirroring workout technique.
I'm using Xcode 16.3 and Mac OS 15.4.1.
Any help appreciated!
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi! I'm having a problem that I cannot seem to figure out. I have not made any changes to my app, yet this suddenly started happening. I think it started happening after I upgraded my phone to iOS 16.3.1, but I am not entirely sure.
Pseudocode:
// (1) initialise player
let player = MPMusicPlayerController.applicationMusicPlayer
// (2) ..later, a button is pressed and we call play()
player.play(myAlbumId)
// (3) a background timer runs, which will ensure we are playing for 30 seconds, and pausing for 60 seconds (this is a workout app):
self.timer = Timer(timeInterval: 1.0, target: self, selector: #selector(togglePauseIfNeeded), userInfo: nil, repeats: true)
RunLoop.current.add(self.timer!, forMode: .common)
// (4) Now, the problem occurs when the timer triggers play, the second time we are playing music (ie, it works the initial time, but in that case, play was triggered by a button press (step 2)).
// So when the timer now calls player.play(), we see this error: "[SDKPlayback] applicationController: xpc service connection interrupted"
player.play()
Interestingly, if I manually hit play just a few seconds before the timer would have called "play" (at step 4), it works fine.
Any thoughts or help on this would be highly appreciated! <3