Add custom metadata to HKLiveWorkoutBuilder

I'm trying to sync workouts for which I have to add the HKMetadataKeySyncIdentifier and HKMetadataKeySyncVersion metadata keys to the workouts.

I've tried calling the addMetadata method on HKLiveWorkoutBuilder but I receive this cryptic error:
Code Block
HKLiveWorkoutBuilder_DB2D [E6B9]: (#w0) Failed to restart task server after connection invalidation: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service on pid 0 created from an endpoint was invalidated from this process." UserInfo={NSDebugDescription=The connection to service on pid 0 created from an endpoint was invalidated from this process.}

Here's my code:
Code Block Swift
backend = try! HKWorkoutSession(healthStore: healthStore, configuration: workoutConfiguration)
builder = session?.associatedWorkoutBuilder()
let metadata : NSDictionary = [
HKMetadataKeySyncIdentifier : match.syncIdentifier,
HKMetadataKeySyncVersion: match.syncVersion
]
builder.addMetadata(metadata as! [String : Any]) { (success, error) in
...
}
session.delegate = self
builder.delegate = self
...


Answered by maxzoech in 629870022
Okay I've solved it: Its important to convert the string to an NSString. The dictionary would become this:
Code Block Swift
let metadata : NSDictionary = [
HKMetadataKeySyncIdentifier : NSString(string: match.syncIdentifier.uuidString),
HKMetadataKeySyncVersion: match.syncVersion
]

I'm leaving it up here in case somebody else comes across the same problem
Accepted Answer
Okay I've solved it: Its important to convert the string to an NSString. The dictionary would become this:
Code Block Swift
let metadata : NSDictionary = [
HKMetadataKeySyncIdentifier : NSString(string: match.syncIdentifier.uuidString),
HKMetadataKeySyncVersion: match.syncVersion
]

I'm leaving it up here in case somebody else comes across the same problem
Add custom metadata to HKLiveWorkoutBuilder
 
 
Q