From 9a7c3beeef7b20539bdddcc7f4e0d41a1b16ca13 Mon Sep 17 00:00:00 2001 From: Justin Cohen Date: Mon, 1 Mar 2021 15:44:50 -0500 Subject: [PATCH] ios: Get simulator device model correctly. Use SIMULATOR_MODEL_IDENTIFIER to get the equivalent device model. Bug: crashpad:31 Change-Id: I17950d77c214533614781a5ca41170d6c3a77ae3 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2726978 Commit-Queue: Justin Cohen Reviewed-by: Mark Mentovai --- util/ios/ios_system_data_collector.mm | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/util/ios/ios_system_data_collector.mm b/util/ios/ios_system_data_collector.mm index c81fe3f8..816d5062 100644 --- a/util/ios/ios_system_data_collector.mm +++ b/util/ios/ios_system_data_collector.mm @@ -23,6 +23,7 @@ #include "base/mac/mach_logging.h" #include "base/numerics/safe_conversions.h" +#include "base/strings/stringprintf.h" #include "base/strings/sys_string_conversions.h" #include "build/build_config.h" @@ -84,17 +85,21 @@ IOSSystemDataCollector::IOSSystemDataCollector() // TODO(justincohen): Consider adding board and model information to // |machine_description| as well (similar to MacModelAndBoard in // util/mac/mac_util.cc). - switch (UI_USER_INTERFACE_IDIOM()) { - case UIUserInterfaceIdiomPhone: - machine_description_ = "iOS Simulator (iPhone)"; - break; - case UIUserInterfaceIdiomPad: - machine_description_ = "iOS Simulator (iPad)"; - break; - default: - machine_description_ = "iOS Simulator (Unknown)"; - break; + const char* model = getenv("SIMULATOR_MODEL_IDENTIFIER"); + if (model == nullptr) { + switch (UI_USER_INTERFACE_IDIOM()) { + case UIUserInterfaceIdiomPhone: + model = "iPhone"; + break; + case UIUserInterfaceIdiomPad: + model = "iPad"; + break; + default: + model = "Unknown"; + break; + } } + machine_description_ = base::StringPrintf("iOS Simulator (%s)", model); #elif TARGET_OS_IPHONE utsname uts; if (uname(&uts) == 0) {