iOS Code Snippet Get iPhone Model

Discussion in 'iOS Code Snippets' started by Emme Developer, May 29, 2017.

  1. Emme Developer

    Emme Developer Well-Known Member Licensed User

    Based on this answer from @Erel
    Code:
    Sub GetDeviceModelName As String
        
    Dim no As NativeObject = Me
        
    Return no.RunMethod("deviceName"Null).AsString
    End Sub

    #if OBJC
    #import <sys/utsname.h>
    - (NSString*) deviceName
    {
      struct utsname systemInfo;

      uname(&systemInfo);

      NSString* code = [NSString stringWithCString:systemInfo.machine
      encoding:NSUTF8StringEncoding];

      static NSDictionary* deviceNamesByCode = nil;

      if (!deviceNamesByCode) {

      deviceNamesByCode = @{@"i386"  :@"Simulator",
      @"x86_64"  :@"Simulator",
      @"iPod1,1"  :@"iPod Touch",  // (Original)
      @"iPod2,1"  :@"iPod Touch",  // (Second Generation)
      @"iPod3,1"  :@"iPod Touch",  // (Third Generation)
      @"iPod4,1"  :@"iPod Touch",  // (Fourth Generation)
      @"iPod7,1"  :@"iPod Touch",  // (6th Generation)
      @"iPhone1,1" :@"iPhone",  // (Original)
      @"iPhone1,2" :@"iPhone",  // (3G)
      @"iPhone2,1" :@"iPhone",  // (3GS)
      @"iPhone3,1" :@"iPhone 4",  // (GSM)
      @"iPhone3,3" :@"iPhone 4",  // (CDMA/Verizon/Sprint)
      @"iPhone4,1" :@"iPhone 4S",  //
      @"iPhone5,1" :@"iPhone 5",  // (model A1428, AT&T/Canada)
      @"iPhone5,2" :@"iPhone 5",  // (model A1429, everything else)
      @"iPhone5,3" :@"iPhone 5c",  // (model A1456, A1532 | GSM)
      @"iPhone5,4" :@"iPhone 5c",  // (model A1507, A1516, A1526 (China), A1529 | Global)
      @"iPhone6,1" :@"iPhone 5s",  // (model A1433, A1533 | GSM)
      @"iPhone6,2" :@"iPhone 5s",  // (model A1457, A1518, A1528 (China), A1530 | Global)
      @"iPhone7,1" :@"iPhone 6 Plus",  //
      @"iPhone7,2" :@"iPhone 6",  //
      @"iPhone8,1" :@"iPhone 6S",  //
      @"iPhone8,2" :@"iPhone 6S Plus",  //
      @"iPhone8,4" :@"iPhone SE",  //
      @"iPhone9,1" :@"iPhone 7 (CDMA)", //
      @"iPhone9,3" :@"iPhone 7 (GSM)", //
      @"iPhone9,2" :@"iPhone 7 Plus (CDMA)", //
      @"iPhone9,4" :@"iPhone 7 Plus (GSM)", //
      @"iPhone10,1" :@"iPhone 8 (CDMA)", //
      @"iPhone10,4" :@"iPhone 8 (GSM)", //
      @"iPhone10,2" :@"iPhone 8 Plus (CDMA)", //
      @"iPhone10,5" :@"iPhone 8 Plus (GSM)", //
      @"iPhone10,3" :@"iPhone X (CDMA)", //
      @"iPhone10,6" :@"iPhone X (GSM)", //
      @"iPhone11,2" :@"iPhone XS", //
      @"iPhone11,4" :@"iPhone XS Max", //
      @"iPhone11,6" :@"iPhone XS Max China", //
      @"iPhone12,8" :@"iPhone XR", //
      @"iPad1,1"  :@"iPad",  // (Original)
      @"iPad2,1"  :@"iPad 2 Wifi",  // (model A1395)
      @"iPad2,2"  :@"iPad 2 GSM",  // (model A1396)
      @"iPad2,3"  :@"iPad 2 3G",  // (model A1397)
      @"iPad2,4"  :@"iPad 2 Wifi",  //(model A1395)
      @"iPad2,5"  :@"iPad Mini Wifi ",  // (model A1432)
      @"iPad2,6"  :@"iPad Mini Wifi + Cellular",  // (model  A1454)
      @"iPad2,7"  :@"iPad Mini Wifi + Cellular",  // (model  A1455)
      @"iPad3,1"  :@"iPad 3",  // (3rd Generation)
      @"iPad3,2"  :@"iPad 3 Wifi + Cellular",  // (model  A1403)
      @"iPad3,3"  :@"iPad 3 Wifi + Cellular",  // (model  A1430)
      @"iPad3,4"  :@"iPad 4 Wifi ",  // (model A1458)
      @"iPad3,5"  :@"iPad 4 Wifi + Cellular",  //  (model  A1459)
      @"iPad3,6"  :@"iPad 4 Wifi + Cellular",  //  (model  A1460)
      @"iPad4,1"  :@"iPad Air Wifi",  // 5th Generation iPad (iPad Air) - Wifi (model A1474)
      @"iPad4,2"  :@"iPad Air Wifi + Cellular",  // (model A1475)
      @"iPad4,3"  :@"iPad Air Wifi + Cellular", // (model A1476)
      @"iPad4,4"  :@"iPad Mini 2 Wifi",  // (2nd Generation iPad Mini - Wifi)
      @"iPad4,5"  :@"iPad Mini 2 Wifi + Cellular",  // (2nd Generation iPad Mini - Cellular) (model A1490)
      @"iPad4,6"  :@"iPad Mini 2 Wifi + Cellular",  // (2nd Generation iPad Mini - Cellular) (model A1491)
      @"iPad4,7"  :@"iPad Mini 3 Wifi",  // 3rd Generation iPad Mini - Wifi (model A1599)
      @"iPad4,8"  :@"iPad Mini 3 Wifi + Cellular",  // 3rd Generation iPad Mini - Wifi + Cellular (model A1600)
      @"iPad4,9"  :@"iPad Mini 3 Wifi + Cellular",  // 3rd Generation iPad Mini - Wifi + Cellular (model A1601)
      @"iPad5,1"  :@"iPad Mini 4 Wifi",  // 4th Generation iPad Mini - Wifi (model A1538)
      @"iPad5,2"  :@"iPad Mini 4 Wifi + Cellular",  // 4th Generation iPad Mini - Wifi + Cellular (model A1550)
      @"iPad5,3"  :@"iPad Air 2 Wifi",  // 2nd Generation iPad Air - Wifi (model A1566)
      @"iPad5,4"  :@"iPad Air 2 Wifi + Cellular ",  // 4th Generation iPad Mini - Wifi + Cellular (model A1567) 
      @"iPad6,3"  :@"iPad Pro (9.7\")",  // iPad Pro 9.7 inches - (model A1673)
      @"iPad6,4"  :@"iPad Pro (9.7\")",  // iPad Pro 9.7 inches - (models A1674 and A1675)
      @"iPad6,7"  :@"iPad Pro (12.9\")", // iPad Pro 12.9 inches - (model A1584)
      @"iPad6,8"  :@"iPad Pro (12.9\")", // iPad Pro 12.9 inches - (model A1652)
      @"iPad6,11"  :@"iPad 5 Wifi", // iPad (5th Generation) - (model A1822)
      @"iPad6,12"  :@"iPad 5 Wifi + Cellular", // iPad (5th Generation) - (model A1823)
      @"iPad7,1"  :@"iPad Pro 2 (12.9\") Wifi", // iPad Pro (12.9") 2nd Generation  - (model A1670)
      @"iPad7,2"  :@"iPad Pro 2 (12.9\") Wifi + Cellular", // iPad Pro (12.9") 2nd Generation - (model A1671 - model A1821) 
      @"iPad7,3"  :@"iPad Pro (10.5\") Wifi", // iPad (5th Generation) - (model A1701)
      @"iPad7,4"  :@"iPad Pro (10.5\") Wifi + Cellular", // iPad (5th Generation) - (model A1709)
      @"Watch1,1"  :@"Apple Watch 38mm", // Apple Watch 38mm case
      @"Watch1,2"  :@"Apple Watch 38mm", // Apple Watch 38mm case
      @"Watch2,3"  :@"Apple Watch Series 2 38mm", // Apple Watch Series 2 38mm case
      @"Watch2,4"  :@"Apple Watch Series 2 42mm", // Apple Watch Series 2 42mm case
      @"Watch2,6"  :@"Apple Watch Series 1 38mm", // Apple Watch Series 1 38mm case
      @"Watch2,7"  :@"Apple Watch Series 1 42mm", // Apple Watch Series 1 42mm case
      @"Watch3,1"  :@"Apple Watch Series 3 38mm (GPS+Cellular)", // Apple Watch Series 3 38mm case (GPS+Cellular)
      @"Watch3,2"  :@"Apple Watch Series 3 42mm (GPS+Cellular)", // Apple Watch Series 3 42mm case (GPS+Cellular)
      @"Watch3,3"  :@"Apple Watch Series 3 38mm (GPS)", // Apple Watch Series 3 38mm case (GPS)
      @"Watch3,4"  :@"Apple Watch Series 3 42mm (GPS)", // Apple Watch Series 3 42mm case (GPS)
      @"Watch4,1"  :@"Apple Watch Series 4 40mm (GPS)", // Apple Watch Series 4 40mm case (GPS)
      @"Watch4,2"  :@"Apple Watch Series 4 44mm (GPS)", // Apple Watch Series 4 44mm case (GPS)
      @"Watch4,3"  :@"Apple Watch Series 4 40mm (GPS+Cellular)", // Apple Watch Series 4 40mm case (GPS+Cellular)
      @"Watch4,4"  :@"Apple Watch Series 4 44mm case (GPS+Cellular)" // Apple Watch Series 4 44mm case (GPS+Cellular)
      };
      }

      NSString* deviceName = [deviceNamesByCode objectForKey:code];

      if (!deviceName) {
      // Not found on database. At least guess main device type from string contents:

      if ([code rangeOfString:@"iPod"].location != NSNotFound) {
      deviceName = @"iPod Touch";
      }
      else if([code rangeOfString:@"iPad"].location != NSNotFound) {
      deviceName = @"iPad";
      }
      else if([code rangeOfString:@"iPhone"].location != NSNotFound){
      deviceName = @"iPhone";
      }
      else {
      deviceName = @"Unknown";
      }
      }

      return deviceName;
    }
    #end if
     
    Last edited: Sep 16, 2019
    Filippo, Ohanian, TnP and 3 others like this.
  2. Alexander Stolte

    Alexander Stolte Well-Known Member Licensed User

    Added IPhone X (IPhone 9,2-10,6)

    Code:
    Dim no As NativeObject = Me
    Log(no.RunMethod("deviceName"Null).AsString)
    End Sub

    #if OBJC
    #import <sys/utsname.h>
    - (NSString*) deviceName
    {
      struct utsname systemInfo;

      uname(&systemInfo);

      NSString* code = [NSString stringWithCString:systemInfo.machine
      encoding:NSUTF8StringEncoding];

      static NSDictionary* deviceNamesByCode = nil;

      if (!deviceNamesByCode) {

      deviceNamesByCode = @{@"i386"  :@"Simulator",
      @"x86_64"  :@"Simulator",
      @"iPod1,1"  :@"iPod Touch",  // (Original)
      @"iPod2,1"  :@"iPod Touch",  // (Second Generation)
      @"iPod3,1"  :@"iPod Touch",  // (Third Generation)
      @"iPod4,1"  :@"iPod Touch",  // (Fourth Generation)
      @"iPod7,1"  :@"iPod Touch",  // (6th Generation)
      @"iPhone1,1" :@"iPhone",  // (Original)
      @"iPhone1,2" :@"iPhone",  // (3G)
      @"iPhone2,1" :@"iPhone",  // (3GS)
      @"iPad1,1"  :@"iPad",  // (Original)
      @"iPad2,1"  :@"iPad 2",  //
      @"iPad3,1"  :@"iPad",  // (3rd Generation)
      @"iPhone3,1" :@"iPhone 4",  // (GSM)
      @"iPhone3,3" :@"iPhone 4",  // (CDMA/Verizon/Sprint)
      @"iPhone4,1" :@"iPhone 4S",  //
      @"iPhone5,1" :@"iPhone 5",  // (model A1428, AT&T/Canada)
      @"iPhone5,2" :@"iPhone 5",  // (model A1429, everything else)
      @"iPad3,4"  :@"iPad",  // (4th Generation)
      @"iPad2,5"  :@"iPad Mini",  // (Original)
      @"iPhone5,3" :@"iPhone 5c",  // (model A1456, A1532 | GSM)
      @"iPhone5,4" :@"iPhone 5c",  // (model A1507, A1516, A1526 (China), A1529 | Global)
      @"iPhone6,1" :@"iPhone 5s",  // (model A1433, A1533 | GSM)
      @"iPhone6,2" :@"iPhone 5s",  // (model A1457, A1518, A1528 (China), A1530 | Global)
      @"iPhone7,1" :@"iPhone 6 Plus",  //
      @"iPhone7,2" :@"iPhone 6",  //
      @"iPhone8,1" :@"iPhone 6S",  //
      @"iPhone8,2" :@"iPhone 6S Plus",  //
      @"iPhone8,4" :@"iPhone SE",  //
    @"iPhone9,1" :@"iPhone 7 (CDMA)", //
    @"iPhone9,3" :@"iPhone 7 (GSM)", //
    @"iPhone9,2" :@"iPhone 7 Plus (CDMA)", //
    @"iPhone9,4" :@"iPhone 7 Plus (GSM)", //
    @"iPhone10,1" :@"iPhone 8 (CDMA)", //
    @"iPhone10,4" :@"iPhone 8 (GSM)", //
    @"iPhone10,2" :@"iPhone 8 Plus (CDMA)", //
    @"iPhone10,5" :@"iPhone 8 Plus (GSM)", //
    @"iPhone10,3" :@"iPhone X (CDMA)", //
    @"iPhone10,6" :@"iPhone X (GSM)", //
    @"iPhone11 ,2" :@"iPhone XS", //
    @"iPhone11 ,4" :@"iPhone XS Max", //
    @"iPhone12 ,8" :@"iPhone XR", //
      @"iPad4,1"  :@"iPad Air",  // 5th Generation iPad (iPad Air) - Wifi
      @"iPad4,2"  :@"iPad Air",  // 5th Generation iPad (iPad Air) - Cellular
      @"iPad4,4"  :@"iPad Mini",  // (2nd Generation iPad Mini - Wifi)
      @"iPad4,5"  :@"iPad Mini",  // (2nd Generation iPad Mini - Cellular)
      @"iPad4,7"  :@"iPad Mini",  // (3rd Generation iPad Mini - Wifi (model A1599))
      @"iPad6,7"  :@"iPad Pro (12.9\")", // iPad Pro 12.9 inches - (model A1584)
      @"iPad6,8"  :@"iPad Pro (12.9\")", // iPad Pro 12.9 inches - (model A1652)
      @"iPad6,3"  :@"iPad Pro (9.7\")",  // iPad Pro 9.7 inches - (model A1673)
      @"iPad6,4"  :@"iPad Pro (9.7\")"  // iPad Pro 9.7 inches - (models A1674 and A1675)
      };
      }

      NSString* deviceName = [deviceNamesByCode objectForKey:code];

      if (!deviceName) {
      // Not found on database. At least guess main device type from string contents:

      if ([code rangeOfString:@"iPod"].location != NSNotFound) {
      deviceName = @"iPod Touch";
      }
      else if([code rangeOfString:@"iPad"].location != NSNotFound) {
      deviceName = @"iPad";
      }
      else if([code rangeOfString:@"iPhone"].location != NSNotFound){
      deviceName = @"iPhone";
      }
      else {
      deviceName = @"Unknown";
      }
      }

      return deviceName;
    }
    #end if
     
    Last edited: Jan 15, 2019
  3. Sasuke Sama

    Sasuke Sama Active Member Licensed User

    Can you add Xs and Xs Max? Also the new ipad pro
    Thank you so much
     
  4. Jamie8763

    Jamie8763 Active Member Licensed User

    Code:
    @"iPhone11 ,2" :@"iPhone XS"
    @
    "iPhone11 ,4" :@"iPhone XS Max"
    @
    "iPhone12 ,8" :@"iPhone XR"
     
  5. Alexander Stolte

    Alexander Stolte Well-Known Member Licensed User

    i update my post with it, thanks!
     
    Sasuke Sama likes this.
  6. Sasuke Sama

    Sasuke Sama Active Member Licensed User

  7. hatzisn

    hatzisn Active Member Licensed User

    Here is an other update with the full range of iOS devices (including watches). Please do update it in the first post.

    Cheers


    Code:
    Sub GetDeviceModelName As String
        
    Dim no As NativeObject = Me
        
    Return no.RunMethod("deviceName"Null).AsString
    End Sub

    #if OBJC
    #import <sys/utsname.h>
    - (NSString*) deviceName
    {
      struct utsname systemInfo;

      uname(&systemInfo);

      NSString* code = [NSString stringWithCString:systemInfo.machine
      encoding:NSUTF8StringEncoding];

      static NSDictionary* deviceNamesByCode = nil;

      if (!deviceNamesByCode) {

      deviceNamesByCode = @{@"i386"  :@"Simulator",
      @"x86_64"  :@"Simulator",
      @"iPod1,1"  :@"iPod Touch",  // (Original)
      @"iPod2,1"  :@"iPod Touch",  // (Second Generation)
      @"iPod3,1"  :@"iPod Touch",  // (Third Generation)
      @"iPod4,1"  :@"iPod Touch",  // (Fourth Generation)
      @"iPod7,1"  :@"iPod Touch",  // (6th Generation)
      @"iPhone1,1" :@"iPhone",  // (Original)
      @"iPhone1,2" :@"iPhone",  // (3G)
      @"iPhone2,1" :@"iPhone",  // (3GS)
      @"iPhone3,1" :@"iPhone 4",  // (GSM)
      @"iPhone3,3" :@"iPhone 4",  // (CDMA/Verizon/Sprint)
      @"iPhone4,1" :@"iPhone 4S",  //
      @"iPhone5,1" :@"iPhone 5",  // (model A1428, AT&T/Canada)
      @"iPhone5,2" :@"iPhone 5",  // (model A1429, everything else)
      @"iPhone5,3" :@"iPhone 5c",  // (model A1456, A1532 | GSM)
      @"iPhone5,4" :@"iPhone 5c",  // (model A1507, A1516, A1526 (China), A1529 | Global)
      @"iPhone6,1" :@"iPhone 5s",  // (model A1433, A1533 | GSM)
      @"iPhone6,2" :@"iPhone 5s",  // (model A1457, A1518, A1528 (China), A1530 | Global)
      @"iPhone7,1" :@"iPhone 6 Plus",  //
      @"iPhone7,2" :@"iPhone 6",  //
      @"iPhone8,1" :@"iPhone 6S",  //
      @"iPhone8,2" :@"iPhone 6S Plus",  //
      @"iPhone8,4" :@"iPhone SE",  //
      @"iPhone9,1" :@"iPhone 7 (CDMA)", //
      @"iPhone9,3" :@"iPhone 7 (GSM)", //
      @"iPhone9,2" :@"iPhone 7 Plus (CDMA)", //
      @"iPhone9,4" :@"iPhone 7 Plus (GSM)", //
      @"iPhone10,1" :@"iPhone 8 (CDMA)", //
      @"iPhone10,4" :@"iPhone 8 (GSM)", //
      @"iPhone10,2" :@"iPhone 8 Plus (CDMA)", //
      @"iPhone10,5" :@"iPhone 8 Plus (GSM)", //
      @"iPhone10,3" :@"iPhone X (CDMA)", //
      @"iPhone10,6" :@"iPhone X (GSM)", //
      @"iPhone11,2" :@"iPhone XS", //
      @"iPhone11,4" :@"iPhone XS Max", //
      @"iPhone11,6" :@"iPhone XS Max China", //
      @"iPhone12,8" :@"iPhone XR", //
      @"iPad1,1"  :@"iPad",  // (Original)
      @"iPad2,1"  :@"iPad 2 Wifi",  // (model A1395)
      @"iPad2,2"  :@"iPad 2 GSM",  // (model A1396)
      @"iPad2,3"  :@"iPad 2 3G",  // (model A1397)
      @"iPad2,4"  :@"iPad 2 Wifi",  //(model A1395)
      @"iPad2,5"  :@"iPad Mini Wifi ",  // (model A1432)
      @"iPad2,6"  :@"iPad Mini Wifi + Cellular",  // (model  A1454)
      @"iPad2,7"  :@"iPad Mini Wifi + Cellular",  // (model  A1455)
      @"iPad3,1"  :@"iPad 3",  // (3rd Generation)
      @"iPad3,2"  :@"iPad 3 Wifi + Cellular",  // (model  A1403)
      @"iPad3,3"  :@"iPad 3 Wifi + Cellular",  // (model  A1430)
      @"iPad3,4"  :@"iPad 4 Wifi ",  // (model A1458)
      @"iPad3,5"  :@"iPad 4 Wifi + Cellular",  //  (model  A1459)
      @"iPad3,6"  :@"iPad 4 Wifi + Cellular",  //  (model  A1460)
      @"iPad4,1"  :@"iPad Air Wifi",  // 5th Generation iPad (iPad Air) - Wifi (model A1474)
      @"iPad4,2"  :@"iPad Air Wifi + Cellular",  // (model A1475)
      @"iPad4,3"  :@"iPad Air Wifi + Cellular", // (model A1476)
      @"iPad4,4"  :@"iPad Mini 2 Wifi",  // (2nd Generation iPad Mini - Wifi)
      @"iPad4,5"  :@"iPad Mini 2 Wifi + Cellular",  // (2nd Generation iPad Mini - Cellular) (model A1490)
      @"iPad4,6"  :@"iPad Mini 2 Wifi + Cellular",  // (2nd Generation iPad Mini - Cellular) (model A1491)
      @"iPad4,7"  :@"iPad Mini 3 Wifi",  // 3rd Generation iPad Mini - Wifi (model A1599)
      @"iPad4,8"  :@"iPad Mini 3 Wifi + Cellular",  // 3rd Generation iPad Mini - Wifi + Cellular (model A1600)
      @"iPad4,9"  :@"iPad Mini 3 Wifi + Cellular",  // 3rd Generation iPad Mini - Wifi + Cellular (model A1601)
      @"iPad5,1"  :@"iPad Mini 4 Wifi",  // 4th Generation iPad Mini - Wifi (model A1538)
      @"iPad5,2"  :@"iPad Mini 4 Wifi + Cellular",  // 4th Generation iPad Mini - Wifi + Cellular (model A1550)
      @"iPad5,3"  :@"iPad Air 2 Wifi",  // 2nd Generation iPad Air - Wifi (model A1566)
      @"iPad5,4"  :@"iPad Air 2 Wifi + Cellular ",  // 4th Generation iPad Mini - Wifi + Cellular (model A1567) 
      @"iPad6,3"  :@"iPad Pro (9.7\")",  // iPad Pro 9.7 inches - (model A1673)
      @"iPad6,4"  :@"iPad Pro (9.7\")",  // iPad Pro 9.7 inches - (models A1674 and A1675)
      @"iPad6,7"  :@"iPad Pro (12.9\")", // iPad Pro 12.9 inches - (model A1584)
      @"iPad6,8"  :@"iPad Pro (12.9\")", // iPad Pro 12.9 inches - (model A1652)
      @"iPad6,11"  :@"iPad 5 Wifi", // iPad (5th Generation) - (model A1822)
      @"iPad6,12"  :@"iPad 5 Wifi + Cellular", // iPad (5th Generation) - (model A1823)
      @"iPad7,1"  :@"iPad Pro 2 (12.9\") Wifi", // iPad Pro (12.9") 2nd Generation  - (model A1670)
      @"iPad7,2"  :@"iPad Pro 2 (12.9\") Wifi + Cellular", // iPad Pro (12.9") 2nd Generation - (model A1671 - model A1821) 
      @"iPad7,3"  :@"iPad Pro (10.5\") Wifi", // iPad (5th Generation) - (model A1701)
      @"iPad7,4"  :@"iPad Pro (10.5\") Wifi + Cellular", // iPad (5th Generation) - (model A1709)
      @"Watch1,1"  :@"Apple Watch 38mm", // Apple Watch 38mm case
      @"Watch1,2"  :@"Apple Watch 38mm", // Apple Watch 38mm case
      @"Watch2,3"  :@"Apple Watch Series 2 38mm", // Apple Watch Series 2 38mm case
      @"Watch2,4"  :@"Apple Watch Series 2 42mm", // Apple Watch Series 2 42mm case
      @"Watch2,6"  :@"Apple Watch Series 1 38mm", // Apple Watch Series 1 38mm case
      @"Watch2,7"  :@"Apple Watch Series 1 42mm", // Apple Watch Series 1 42mm case
      @"Watch3,1"  :@"Apple Watch Series 3 38mm (GPS+Cellular)", // Apple Watch Series 3 38mm case (GPS+Cellular)
      @"Watch3,2"  :@"Apple Watch Series 3 42mm (GPS+Cellular)", // Apple Watch Series 3 42mm case (GPS+Cellular)
      @"Watch3,3"  :@"Apple Watch Series 3 38mm (GPS)", // Apple Watch Series 3 38mm case (GPS)
      @"Watch3,4"  :@"Apple Watch Series 3 42mm (GPS)", // Apple Watch Series 3 42mm case (GPS)
      @"Watch4,1"  :@"Apple Watch Series 4 40mm (GPS)", // Apple Watch Series 4 40mm case (GPS)
      @"Watch4,2"  :@"Apple Watch Series 4 44mm (GPS)", // Apple Watch Series 4 44mm case (GPS)
      @"Watch4,3"  :@"Apple Watch Series 4 40mm (GPS+Cellular)", // Apple Watch Series 4 40mm case (GPS+Cellular)
      @"Watch4,4"  :@"Apple Watch Series 4 44mm case (GPS+Cellular)" // Apple Watch Series 4 44mm case (GPS+Cellular)
      };
      }

      NSString* deviceName = [deviceNamesByCode objectForKey:code];

      if (!deviceName) {
      // Not found on database. At least guess main device type from string contents:

      if ([code rangeOfString:@"iPod"].location != NSNotFound) {
      deviceName = @"iPod Touch";
      }
      else if([code rangeOfString:@"iPad"].location != NSNotFound) {
      deviceName = @"iPad";
      }
      else if([code rangeOfString:@"iPhone"].location != NSNotFound){
      deviceName = @"iPhone";
      }
      else {
      deviceName = @"Unknown";
      }
      }

      return deviceName;
    }
    #end if
     
  8. Emme Developer

    Emme Developer Well-Known Member Licensed User

    Updated in first post, thx
     
    Alexander Stolte and Erel like this.
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice