Identify New iPhone Model on Xcode (5, 5C, 5S)

Identify new iPhone model on xcode (5, 5c, 5s)


Objective-C & SWIFT

This is working on all version like iOS 6, iOS 7 and iOS 8 etc...

And updated for iPhone 6 & iPhone 6 Plus

 -(void)viewDidLoad {

[super viewDidLoad];
// Do any additional setup after loading the view from its nib.

size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
NSLog(@"iPhone Device%@",[self platformType:platform]);

free(machine);
}


- (NSString *) platformType:(NSString *)platform
{
if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 1G";
if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G";
if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS";
if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4";
if ([platform isEqualToString:@"iPhone3,3"]) return @"Verizon iPhone 4";
if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S";
if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (GSM)";
if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (GSM+CDMA)";
if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (GSM)";
if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (GSM+CDMA)";
if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (GSM)";
if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (GSM+CDMA)";
if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6";
if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus";
if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone 6s";
if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone 6s Plus";
if ([platform isEqualToString:@"iPhone8,4"]) return @"iPhone SE";
if ([platform isEqualToString:@"iPhone9,1"]) return @"iPhone 7";
if ([platform isEqualToString:@"iPhone9,2"]) return @"iPhone 7 Plus";
if ([platform isEqualToString:@"iPhone9,3"]) return @"iPhone 7";
if ([platform isEqualToString:@"iPhone9,4"]) return @"iPhone 7 Plus";
if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G";
if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G";
if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G";
if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G";
if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G";
if ([platform isEqualToString:@"iPad1,1"]) return @"iPad";
if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)";
if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)";
if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)";
if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2 (WiFi)";
if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini (WiFi)";
if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini (GSM)";
if ([platform isEqualToString:@"iPad2,7"]) return @"iPad Mini (GSM+CDMA)";
if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3 (WiFi)";
if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3 (GSM+CDMA)";
if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3 (GSM)";
if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4 (WiFi)";
if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4 (GSM)";
if ([platform isEqualToString:@"iPad3,6"]) return @"iPad 4 (GSM+CDMA)";
if ([platform isEqualToString:@"iPad4,1"]) return @"iPad Air (WiFi)";
if ([platform isEqualToString:@"iPad4,2"]) return @"iPad Air (Cellular)";
if ([platform isEqualToString:@"iPad4,3"]) return @"iPad Air";
if ([platform isEqualToString:@"iPad4,4"]) return @"iPad Mini 2G (WiFi)";
if ([platform isEqualToString:@"iPad4,5"]) return @"iPad Mini 2G (Cellular)";
if ([platform isEqualToString:@"iPad4,6"]) return @"iPad Mini 2G";
if ([platform isEqualToString:@"iPad4,7"]) return @"iPad Mini 3 (WiFi)";
if ([platform isEqualToString:@"iPad4,8"]) return @"iPad Mini 3 (Cellular)";
if ([platform isEqualToString:@"iPad4,9"]) return @"iPad Mini 3 (China)";
if ([platform isEqualToString:@"iPad5,3"]) return @"iPad Air 2 (WiFi)";
if ([platform isEqualToString:@"iPad5,4"]) return @"iPad Air 2 (Cellular)";
if ([platform isEqualToString:@"AppleTV2,1"]) return @"Apple TV 2G";
if ([platform isEqualToString:@"AppleTV3,1"]) return @"Apple TV 3";
if ([platform isEqualToString:@"AppleTV3,2"]) return @"Apple TV 3 (2013)";
if ([platform isEqualToString:@"i386"]) return @"Simulator";
if ([platform isEqualToString:@"x86_64"]) return @"Simulator";
return platform;
}

this code is also AppStore safe.

SWIFT 3.2

    override func viewDidLoad() {
super.viewDidLoad()

var sysInfo = utsname()
uname(&sysInfo)
let machine = Mirror(reflecting: sysInfo.machine)
let identifier = machine.children.reduce("") { identifier, element in
guard let value = element.value as? Int8, value != 0 else { return identifier }
return identifier + String(UnicodeScalar(UInt8(value)))
}

NSLog("Device Type ----> %@", self.platformType(platform: identifier as NSString));

print(self.platformType(platform: identifier as NSString))
}




func platformType(platform : NSString) -> NSString{
if platform.isEqual(to: "iPhone1,1") {
return "iPhone 1G"
}
else if platform.isEqual(to: "iPhone1,2"){
return "iPhone 3G"
}
else if platform.isEqual(to: "iPhone2,1"){
return "iPhone 3GS"
}
else if platform.isEqual(to: "iPhone3,1"){
return "iPhone 4"
}
else if platform.isEqual(to: "iPhone3,3"){
return "Verizon iPhone 4"
}
else if platform.isEqual(to: "iPhone4,1"){
return "iPhone 4S"
}
else if platform.isEqual(to: "iPhone5,1"){
return "iPhone 5 (GSM)"
}
else if platform.isEqual(to: "iPhone5,2"){
return "iPhone 5 (GSM+CDMA)"
}
else if platform.isEqual(to: "iPhone5,3"){
return "iPhone 5c (GSM)"
}
else if platform.isEqual(to: "iPhone5,4"){
return "iPhone 5c (GSM+CDMA)"
}
else if platform.isEqual(to: "iPhone6,1"){
return "iPhone 5s (GSM)"
}
else if platform.isEqual(to: "iPhone6,2"){
return "iPhone 5s (GSM+CDMA)"
}
else if platform.isEqual(to: "iPhone7,2"){
return "iPhone 6"
}
else if platform.isEqual(to: "iPhone7,1"){
return "iPhone 6 Plus"
}
else if platform.isEqual(to: "iPhone8,1"){
return "iPhone 6s"
}
else if platform.isEqual(to: "iPhone8,2"){
return "iPhone 6s Plus"
}
else if platform.isEqual(to: "iPhone8,4"){
return "iPhone SE"
}
else if platform.isEqual(to: "iPhone9,1"){
return "iPhone 7"
}
else if platform.isEqual(to: "iPhone9,2"){
return "iPhone 7 Plus"
}
else if platform.isEqual(to: "iPhone9,3"){
return "iPhone 7"
}
else if platform.isEqual(to: "iPhone9,4"){
return "iPhone 7 Plus"
}
else if platform.isEqual(to: "iPod1,1"){
return "iPod Touch 1G"
}
else if platform.isEqual(to: "iPod2,1"){
return "iPod Touch 2G"
}
else if platform.isEqual(to: "iPod3,1"){
return "iPod Touch 3G"
}
else if platform.isEqual(to: "iPod4,1"){
return "iPod Touch 4G"
}
else if platform.isEqual(to: "iPod5,1"){
return "iPod Touch 5G"
}
else if platform.isEqual(to: "iPad1,1"){
return "iPad"
}
else if platform.isEqual(to: "iPad2,1"){
return "iPad 2 (WiFi)"
}
else if platform.isEqual(to: "iPad2,2"){
return "iPad 2 (GSM)"
}
else if platform.isEqual(to: "iPad2,3"){
return "iPad 2 (CDMA)"
}
else if platform.isEqual(to: "iPad2,4"){
return "iPad 2 (WiFi)"
}
else if platform.isEqual(to: "iPad2,5"){
return "iPad Mini (WiFi)"
}
else if platform.isEqual(to: "iPad2,6"){
return "iPad Mini (GSM)"
}
else if platform.isEqual(to: "iPad2,7"){
return "iPad Mini (GSM+CDMA)"
}
else if platform.isEqual(to: "iPad3,1"){
return "iPad 3 (WiFi)"
}
else if platform.isEqual(to: "iPad3,2"){
return "iPad 3 (GSM+CDMA)"
}
else if platform.isEqual(to: "iPad3,3"){
return "iPad 3 (GSM)"
}
else if platform.isEqual(to: "iPad3,4"){
return "iPad 4 (WiFi)"
}
else if platform.isEqual(to: "iPad3,5"){
return "iPad 4 (GSM)"
}
else if platform.isEqual(to: "iPad3,6"){
return "iPad 4 (GSM+CDMA)"
}
else if platform.isEqual(to: "iPad4,1"){
return "iPad Air (WiFi)"
}
else if platform.isEqual(to: "iPad4,2"){
return "iPad Air (Cellular)"
}
else if platform.isEqual(to: "iPad4,3"){
return "iPad Air"
}
else if platform.isEqual(to: "iPad4,4"){
return "iPad Mini 2G (WiFi)"
}
else if platform.isEqual(to: "iPad4,5"){
return "iPad Mini 2G (Cellular)"
}
else if platform.isEqual(to: "iPad4,6"){
return "iPad Mini 2G";
}
else if platform.isEqual(to: "iPad4,7"){
return "iPad Mini 3 (WiFi)"
}
else if platform.isEqual(to: "iPad4,8"){
return "iPad Mini 3 (Cellular)"
}
else if platform.isEqual(to: "iPad4,9"){
return "iPad Mini 3 (China)"
}
else if platform.isEqual(to: "iPad5,3"){
return "iPad Air 2 (WiFi)"
}
else if platform.isEqual(to: "iPad5,4"){
return "iPad Air 2 (Cellular)"
}
else if platform.isEqual(to: "AppleTV2,1"){
return "Apple TV 2G"
}
else if platform.isEqual(to: "AppleTV3,1"){
return "Apple TV 3"
}
else if platform.isEqual(to: "AppleTV3,2"){
return "Apple TV 3 (2013)"
}
else if platform.isEqual(to: "i386"){
return "Simulator"
}
else if platform.isEqual(to: "x86_64"){
return "Simulator"
}
return platform
}

How to tell the difference between iPhone 5s/5 and 6 in the Xcode simulator

Every iPhone has its different internal name:

- (void)viewDidLoad {
[super viewDidLoad];

size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
NSLog(@"iPhone Device%@",[self platformType:platform]);

free(machine);
}


- (NSString *) platformType:(NSString *)platform
{
if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S";
if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (GSM)";
if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (GSM+CDMA)";
if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (GSM)";
if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (GSM+CDMA)";
if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (GSM)";
if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (GSM+CDMA)";
if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6";
if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus";
if ([platform isEqualToString:@"i386"]) return @"Simulator";
if ([platform isEqualToString:@"x86_64"]) return @"Simulator";

return platform;
}

And by the way iPhone 4, 5 and 6 all have different screen sizes:

iPhone 4, 4S:        (640, 960)
iPhone 5, 5C, 5S: (640, 1136)
iPhone 6: (750, 1334)
iPhone 6 Plus: (1080, 1920)

You can refer to this question: Identify new iPhone model on xcode (5, 5c, 5s)

How to determine the current iPhone/device model?

I made this "pure Swift" extension on UIDevice.

If you are looking for a more elegant solution you can use my µ-framework DeviceKit published on GitHub (also available via CocoaPods, Carthage and Swift Package Manager).

Here's the code:

import UIKit

public extension UIDevice {

static let modelName: String = {
var systemInfo = utsname()
uname(&systemInfo)
let machineMirror = Mirror(reflecting: systemInfo.machine)
let identifier = machineMirror.children.reduce("") { identifier, element in
guard let value = element.value as? Int8, value != 0 else { return identifier }
return identifier + String(UnicodeScalar(UInt8(value)))
}

func mapToDevice(identifier: String) -> String { // swiftlint:disable:this cyclomatic_complexity
#if os(iOS)
switch identifier {
case "iPod5,1": return "iPod touch (5th generation)"
case "iPod7,1": return "iPod touch (6th generation)"
case "iPod9,1": return "iPod touch (7th generation)"
case "iPhone3,1", "iPhone3,2", "iPhone3,3": return "iPhone 4"
case "iPhone4,1": return "iPhone 4s"
case "iPhone5,1", "iPhone5,2": return "iPhone 5"
case "iPhone5,3", "iPhone5,4": return "iPhone 5c"
case "iPhone6,1", "iPhone6,2": return "iPhone 5s"
case "iPhone7,2": return "iPhone 6"
case "iPhone7,1": return "iPhone 6 Plus"
case "iPhone8,1": return "iPhone 6s"
case "iPhone8,2": return "iPhone 6s Plus"
case "iPhone9,1", "iPhone9,3": return "iPhone 7"
case "iPhone9,2", "iPhone9,4": return "iPhone 7 Plus"
case "iPhone10,1", "iPhone10,4": return "iPhone 8"
case "iPhone10,2", "iPhone10,5": return "iPhone 8 Plus"
case "iPhone10,3", "iPhone10,6": return "iPhone X"
case "iPhone11,2": return "iPhone XS"
case "iPhone11,4", "iPhone11,6": return "iPhone XS Max"
case "iPhone11,8": return "iPhone XR"
case "iPhone12,1": return "iPhone 11"
case "iPhone12,3": return "iPhone 11 Pro"
case "iPhone12,5": return "iPhone 11 Pro Max"
case "iPhone13,1": return "iPhone 12 mini"
case "iPhone13,2": return "iPhone 12"
case "iPhone13,3": return "iPhone 12 Pro"
case "iPhone13,4": return "iPhone 12 Pro Max"
case "iPhone14,4": return "iPhone 13 mini"
case "iPhone14,5": return "iPhone 13"
case "iPhone14,2": return "iPhone 13 Pro"
case "iPhone14,3": return "iPhone 13 Pro Max"
case "iPhone14,7": return "iPhone 14"
case "iPhone14,8": return "iPhone 14 Plus"
case "iPhone15,2": return "iPhone 14 Pro"
case "iPhone15,3": return "iPhone 14 Pro Max"
case "iPhone8,4": return "iPhone SE"
case "iPhone12,8": return "iPhone SE (2nd generation)"
case "iPhone14,6": return "iPhone SE (3rd generation)"
case "iPad2,1", "iPad2,2", "iPad2,3", "iPad2,4": return "iPad 2"
case "iPad3,1", "iPad3,2", "iPad3,3": return "iPad (3rd generation)"
case "iPad3,4", "iPad3,5", "iPad3,6": return "iPad (4th generation)"
case "iPad6,11", "iPad6,12": return "iPad (5th generation)"
case "iPad7,5", "iPad7,6": return "iPad (6th generation)"
case "iPad7,11", "iPad7,12": return "iPad (7th generation)"
case "iPad11,6", "iPad11,7": return "iPad (8th generation)"
case "iPad12,1", "iPad12,2": return "iPad (9th generation)"
case "iPad4,1", "iPad4,2", "iPad4,3": return "iPad Air"
case "iPad5,3", "iPad5,4": return "iPad Air 2"
case "iPad11,3", "iPad11,4": return "iPad Air (3rd generation)"
case "iPad13,1", "iPad13,2": return "iPad Air (4th generation)"
case "iPad13,16", "iPad13,17": return "iPad Air (5th generation)"
case "iPad2,5", "iPad2,6", "iPad2,7": return "iPad mini"
case "iPad4,4", "iPad4,5", "iPad4,6": return "iPad mini 2"
case "iPad4,7", "iPad4,8", "iPad4,9": return "iPad mini 3"
case "iPad5,1", "iPad5,2": return "iPad mini 4"
case "iPad11,1", "iPad11,2": return "iPad mini (5th generation)"
case "iPad14,1", "iPad14,2": return "iPad mini (6th generation)"
case "iPad6,3", "iPad6,4": return "iPad Pro (9.7-inch)"
case "iPad7,3", "iPad7,4": return "iPad Pro (10.5-inch)"
case "iPad8,1", "iPad8,2", "iPad8,3", "iPad8,4": return "iPad Pro (11-inch) (1st generation)"
case "iPad8,9", "iPad8,10": return "iPad Pro (11-inch) (2nd generation)"
case "iPad13,4", "iPad13,5", "iPad13,6", "iPad13,7": return "iPad Pro (11-inch) (3rd generation)"
case "iPad6,7", "iPad6,8": return "iPad Pro (12.9-inch) (1st generation)"
case "iPad7,1", "iPad7,2": return "iPad Pro (12.9-inch) (2nd generation)"
case "iPad8,5", "iPad8,6", "iPad8,7", "iPad8,8": return "iPad Pro (12.9-inch) (3rd generation)"
case "iPad8,11", "iPad8,12": return "iPad Pro (12.9-inch) (4th generation)"
case "iPad13,8", "iPad13,9", "iPad13,10", "iPad13,11":return "iPad Pro (12.9-inch) (5th generation)"
case "AppleTV5,3": return "Apple TV"
case "AppleTV6,2": return "Apple TV 4K"
case "AudioAccessory1,1": return "HomePod"
case "AudioAccessory5,1": return "HomePod mini"
case "i386", "x86_64", "arm64": return "Simulator \(mapToDevice(identifier: ProcessInfo().environment["SIMULATOR_MODEL_IDENTIFIER"] ?? "iOS"))"
default: return identifier
}
#elseif os(tvOS)
switch identifier {
case "AppleTV5,3": return "Apple TV 4"
case "AppleTV6,2": return "Apple TV 4K"
case "i386", "x86_64": return "Simulator \(mapToDevice(identifier: ProcessInfo().environment["SIMULATOR_MODEL_IDENTIFIER"] ?? "tvOS"))"
default: return identifier
}
#endif
}

return mapToDevice(identifier: identifier)
}()

}

You call it like this:

let modelName = UIDevice.modelName

For real devices it returns e.g. "iPad Pro (12.9-inch) (5th generation)", for simulators it returns e.g. "Simulator iPad Pro (12.9-inch) (5th generation)"

Here's the model references:

  • https://theiphonewiki.com/wiki/Models
  • https://theiphonewiki.com/wiki/BORD

Display iPhone model in MFMailCompose

Using the link you you put in your question, if you just want it to say the iPhone platform you would just use this portion of their answer :

size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];

free(machine);

That will translate to iPhone7,2 etc. just pass the NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding]; string 'platform' into your message body

If you want to convert that to whatever string you want that's when the other portion comes into play. This is the only time you'll use the other part and all of the conversions in their answer:

NSString *convertPlatformToString = [self platformType:platform]);

Example for putting in mail message:

size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];

free(machine);

NSString *body = [NSString stringWithFormat:@"Platform is %@", platform];

How can I check what iOS device the user is using?

To check the kind of device:

if ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad )
{
// You are using iPad
return YES;
}

else if ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomiPhone )
{
CGRect screenBounds = [[UIScreen mainScreen] bounds];

if(screenBounds.size.height == 568){
NSLog(@"User is using an iPhone 5+");

} else{
NSLog(@"User is using an iPhone 4s-");
}
}

Determine device (iPhone, iPod Touch) with iOS

You can use the UIDevice class like this:

NSString *deviceType = [UIDevice currentDevice].model;

if([deviceType isEqualToString:@"iPhone"])
// it's an iPhone

How to get device make and model on iOS?

EITHER try this library: http://github.com/erica/uidevice-extension/ (by Erica Sadun). (The library is 7-8 years old, and hence is obsolete)

(Sample Code):

    [[UIDevice currentDevice] platformType]   // ex: UIDevice4GiPhone
[[UIDevice currentDevice] platformString] // ex: @"iPhone 4G"

OR You can use this method:

You can get the device model number using uname from sys/utsname.h. For example:

Objective-C

    #import <sys/utsname.h> // import it in your header or implementation file.

NSString* deviceName()
{
struct utsname systemInfo;
uname(&systemInfo);

return [NSString stringWithCString:systemInfo.machine
encoding:NSUTF8StringEncoding];
}

Swift 3

    extension UIDevice {
var modelName: String {
var systemInfo = utsname()
uname(&systemInfo)
let machineMirror = Mirror(reflecting: systemInfo.machine)
let identifier = machineMirror.children.reduce("") { identifier, element in
guard let value = element.value as? Int8, value != 0 else { return identifier }
return identifier + String(UnicodeScalar(UInt8(value)))
}
return identifier
}
}

print(UIDevice.current.modelName)

The result should be:

// Output on a simulator
@"i386" on 32-bit Simulator
@"x86_64" on 64-bit Simulator

// Output on an iPhone
@"iPhone5,1" on iPhone 5 (model A1428, AT&T/Canada)
@"iPhone5,2" on iPhone 5 (model A1429, everything else)
@"iPhone5,3" on iPhone 5c (model A1456, A1532 | GSM)
@"iPhone5,4" on iPhone 5c (model A1507, A1516, A1526 (China), A1529 | Global)
@"iPhone6,1" on iPhone 5s (model A1433, A1533 | GSM)
@"iPhone6,2" on iPhone 5s (model A1457, A1518, A1528 (China), A1530 | Global)
@"iPhone7,1" on iPhone 6 Plus
@"iPhone7,2" on iPhone 6
@"iPhone8,1" on iPhone 6S
@"iPhone8,2" on iPhone 6S Plus
@"iPhone8,4" on iPhone SE
@"iPhone9,1" on iPhone 7 (CDMA)
@"iPhone9,3" on iPhone 7 (GSM)
@"iPhone9,2" on iPhone 7 Plus (CDMA)
@"iPhone9,4" on iPhone 7 Plus (GSM)
@"iPhone10,1" on iPhone 8 (CDMA)
@"iPhone10,4" on iPhone 8 (GSM)
@"iPhone10,2" on iPhone 8 Plus (CDMA)
@"iPhone10,5" on iPhone 8 Plus (GSM)
@"iPhone10,3" on iPhone X (CDMA)
@"iPhone10,6" on iPhone X (GSM)
@"iPhone11,2" on iPhone XS
@"iPhone11,4" on iPhone XS Max
@"iPhone11,6" on iPhone XS Max China
@"iPhone11,8" on iPhone XR
@"iPhone12,1" on iPhone 11
@"iPhone12,3" on iPhone 11 Pro
@"iPhone12,5" on iPhone 11 Pro Max
@"iPhone14,8" on iPhone 14 (2nd Gen)


Related Topics



Leave a reply



Submit