From 37d82e144d6c8d51e317a150e561f787195d58c3 Mon Sep 17 00:00:00 2001 From: mbr <78035714+stackflowdev@users.noreply.github.com> Date: Wed, 30 Sep 2026 10:49:26 +0500 Subject: [PATCH] feat(device_info_plus): Add iOS device identifiers for iPhone 18 Pro and iPhone 18 Pro Max The table stops at the iPhone 17 family, so `modelName` returns "Unknown device" on both new phones. - iPhone19,2: iPhone 18 Pro - iPhone19,3 and iPhone19,7: iPhone 18 Pro Max. They are two regional variants of one phone, so they share one branch, the way the iPhone XS Max pair does. The identifiers and names are Apple's own. macOS 27.0's device table (CoreTypes.bundle, MobileDevices-0001.bundle) describes iPhone19,2 as "iPhone 18 Pro" and iPhone19,3 and iPhone19,7 as "iPhone 18 Pro Max", and the simulator profiles of Xcode 27.0 give iPhone19,2 and iPhone19,3 for the two phones. iPhone19,4 is left out: the same macOS table lists it with no marketing name yet. Co-Authored-By: Claude Opus 5.5 --- .../Sources/device_info_plus/DeviceIdentifiers.m | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/device_info_plus/device_info_plus/ios/device_info_plus/Sources/device_info_plus/DeviceIdentifiers.m b/packages/device_info_plus/device_info_plus/ios/device_info_plus/Sources/device_info_plus/DeviceIdentifiers.m index a101d364cf..8cd7190985 100644 --- a/packages/device_info_plus/device_info_plus/ios/device_info_plus/Sources/device_info_plus/DeviceIdentifiers.m +++ b/packages/device_info_plus/device_info_plus/ios/device_info_plus/Sources/device_info_plus/DeviceIdentifiers.m @@ -107,6 +107,11 @@ + (NSString *)userKnownDeviceModel:(NSString *)identifier { return @"iPhone Air"; } else if ([identifier isEqualToString:@"iPhone18,5"]) { return @"iPhone 17e"; + } else if ([identifier isEqualToString:@"iPhone19,2"]) { + return @"iPhone 18 Pro"; + } else if ([identifier isEqualToString:@"iPhone19,3"] || + [identifier isEqualToString:@"iPhone19,7"]) { + return @"iPhone 18 Pro Max"; // iPads } else if ([identifier isEqualToString:@"iPad4,1"] || [identifier isEqualToString:@"iPad4,2"] ||