虽然在您的应用程序中找到并使用这些信息并不是一个好习惯,但是有没有办法找到您的iPhone/iPod/iPad型号。例如:2G/3GS/4G等查找iPhone型号信息
回答
尝试:
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是0-14,等
-[UIDevice model]
,但我不确定它是否会返回比“iPhone”或“iPod Touch”更具体的内容。
是啊试过,只给你iPhone/iPod/iPad的。 – 2010-10-21 20:50:30
我认为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 -
我认为这是已经回答在这里: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以获取平台字符串。
- 1. 通过浏览器查找iPhone型号信息
- 2. 查找网站信息
- 3. 查看某个型号的详细信息时,如何验证其他型号?
- 4. 多种型号的额外信息
- 5. 获取C符号的类型信息
- 6. 查看找不到型号
- 7. 来电信息+ iphone
- 8. iPhone信号强度
- 9. 查询/检索信息模型 - 寻找不
- 10. 鲨鱼无法找到此地址范围的符号信息 - iPhone
- 11. 查找单元格式信息在MATLAB
- 12. apropos /查找上下文相关信息
- 13. Ghostscript查找更多调试信息
- 14. 上阶运营商查找信息
- 15. 查找上一个元素信息源
- 16. 查找NSError Webkit域的详细信息
- 17. SQL - 查找列FK的详细信息
- 18. 查找Windows安装程序信息
- 19. 双腿OAuth - 正在查找信息
- 20. 查找字符串的具体信息
- 21. 在调试中查找地址信息
- 22. 从all_tab_cols查找表和列信息
- 23. 如何从jpcap查找信息字段
- 24. 通过API查找paypal帐户信息
- 25. 从SDK访问iPhone信息
- 26. iphone ios xcode 4.2 - EXC_BAD_ACCESS信号
- 27. 确定iPhone型号
- 28. C++类型信息
- 29. F#类型信息
- 30. 如何加速iPhone DTMF信号拨号
我试过这个,''sysctlbyname'没有在这个范围内声明。我如何申报? – 2010-10-21 20:51:43
将#include添加到相关的.h文件中。 –
hotpaw2
2010-10-21 21:00:43
谢谢。你可以用同样的方法找到iPod/Pad吗? – 2010-10-21 21:03:50