diff --git a/RCTAppleHealthKit/RCTAppleHealthKit+Queries.m b/RCTAppleHealthKit/RCTAppleHealthKit+Queries.m index 85af6beb487030b479f4aad50feda3436708b823..ff55ed87e8c00482f8690c3e376bbb021b3972d0 100644 --- a/RCTAppleHealthKit/RCTAppleHealthKit+Queries.m +++ b/RCTAppleHealthKit/RCTAppleHealthKit+Queries.m @@ -81,11 +81,34 @@ NSString *startDateString = [RCTAppleHealthKit buildISO8601StringFromDate:sample.startDate]; NSString *endDateString = [RCTAppleHealthKit buildISO8601StringFromDate:sample.endDate]; - + + NSString *deviceName = sample.device.name ? sample.device.name : @""; + NSString *deviceManufacturer = sample.device.manufacturer ? sample.device.manufacturer : @""; + NSString *deviceHardwareVer = sample.device.hardwareVersion ? sample.device.hardwareVersion : @""; + NSString *deviceSoftwareVer = sample.device.softwareVersion ? sample.device.softwareVersion : @""; + + NSString *sourceName = sample.sourceRevision.source.name; + NSString *sourceId = sample.sourceRevision.source.bundleIdentifier; + + NSString *uuid = sample.UUID.UUIDString; + + NSError *error; + NSData *jsonData = [NSJSONSerialization dataWithJSONObject:sample.metadata options:NSJSONWritingPrettyPrinted error:&error]; + NSString *metadata =[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; + NSDictionary *elem = @{ @"value" : @(value), @"startDate" : startDateString, @"endDate" : endDateString, + @"deviceName" : deviceName, + @"deviceManufacturer" : deviceManufacturer, + @"deviceHardware" : deviceHardwareVer, + @"deviceSoftware" : deviceSoftwareVer, + @"sourceName" : sourceName, + @"sourceId" : sourceId, + @"unit" : unit.description, + @"uuid" : uuid, + @"metadata" : metadata }; [data addObject:elem];