查找iPhone型号信息

时间:2010-10-21 20:26:24

标签: iphone

虽然在您的应用程序中找到并使用此信息并不是一个好习惯,但有没有办法找到您拥有的iPhone / iPod / iPad型号。例如:2G / 3GS / 4G等

4 个答案:

答案 0 :(得分:7)

尝试:

char    deviceString[256];
size_t  size = 255;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
if (size > 255) { size = 255; }
sysctlbyname("hw.machine", deviceString, &size, NULL, 0);
if (strcmp(deviceString,"iPhone1,1") == 0) { etc... }  // 2G

1,2是3G, 2,1是3GS, 3,1是i4等。

答案 1 :(得分:6)

我认为这已经在这里得到了回答:Determine device (iPhone, iPod Touch) with iPhone SDK,虽然我已经添加了一些内容:

- (NSString *) platformString{
NSString *platform = [self 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:@"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:@"iPad1,1"])   return @"iPad";
if ([platform isEqualToString:@"i386"])   return @"iPhone Simulator";
return platform;

}

说明最近对家庭的补充。您可以查看everyipod.com,例如specs for iPhone 4以获取平台字符串。

答案 2 :(得分:1)

-[UIDevice model],但我不确定它是否会返回比“iPhone”或“iPod Touch”更具体的内容。

答案 3 :(得分:1)

我认为iTunes / Xcode Organizer已经出于某种原因这样做了(至少我似乎记得它正确识别我的旧iPod Touch作为第一代),这绝对不是我的iPhone 3GS的情况。 iPhone配置实用程序也没有帮助。

所以我启动了System Profiler以查看设备是否显示在USB列表中;它确实。它还显示“产品ID”(在我的情况下,0x1294)。我把它输入谷歌并想出了这个:

http://theiphonewiki.com/wiki/index.php?title=Normal_Mode

  

设备ID

     

它似乎使用不同的设备ID:

     

iPhone - 0x1290

     

iPod touch - 0x1291

     

iPhone 3G - 0x1292

     

iPod touch 2G - 0x1293

     

iPhone 3GS - 0x1294

     

iPod touch 3G - 0x1299

     

iPad - 0x129a

     

iPhone 4 -

     

iPod touch 4G - 0x129e

     

Apple TV 2G -