diff --git a/Source/BugsnagKSCrashSysInfoParser.m b/Source/BugsnagKSCrashSysInfoParser.m index 59a5a5ea0..354f8a784 100644 --- a/Source/BugsnagKSCrashSysInfoParser.m +++ b/Source/BugsnagKSCrashSysInfoParser.m @@ -118,7 +118,13 @@ BSGDictSetSafeObject(deviceState, report[@"machine"], @"model"); BSGDictSetSafeObject(deviceState, report[@"system_name"], @"osName"); BSGDictSetSafeObject(deviceState, report[@"system_version"], @"osVersion"); - BSGDictSetSafeObject(deviceState, report[@"os_version"], @"osBuild"); + + NSString *osVersion = report[@"os_version"]; + + if (osVersion != nil) { + BSGDictSetSafeObject(deviceState, @{@"osBuild": osVersion}, @"runtimeVersions"); + } + BSGDictSetSafeObject(deviceState, @(PLATFORM_WORD_SIZE), @"wordSize"); BSGDictSetSafeObject(deviceState, @"Apple", @"manufacturer"); BSGDictSetSafeObject(deviceState, report[@"jailbroken"], @"jailbroken"); diff --git a/Tests/BugsnagSinkTests.m b/Tests/BugsnagSinkTests.m index b783f0c8b..bddbc6e13 100644 --- a/Tests/BugsnagSinkTests.m +++ b/Tests/BugsnagSinkTests.m @@ -270,7 +270,7 @@ - (void)testEventDevice { XCTAssertEqualObjects(device[@"modelNumber"], @"MacBookPro11,3"); XCTAssertEqualObjects(device[@"osName"], @"iPhone OS"); XCTAssertEqualObjects(device[@"osVersion"], @"8.1"); - XCTAssertEqualObjects(device[@"osBuild"], @"14B25"); + XCTAssertEqualObjects(device[@"runtimeVersions"][@"osBuild"], @"14B25"); XCTAssertEqualObjects(device[@"totalMemory"], @15065522176); XCTAssertNotNil(device[@"freeDisk"]); XCTAssertEqualObjects(device[@"timezone"], @"PST");