如何使用 Obj C 检测 iPhone 与 iPhone 3G

2023-12-13

有设备的型号属性,但它不区分 iPhone 和 iPhone 3G。有没有更好的办法?


斯蒂芬发布的项目中特别有趣的部分是:

您可能会看到的字符串值:

/*
 Platforms
 iPhone1,1 -> iPhone 1G
 iPhone1,2 -> iPhone 3G 
 iPod1,1   -> iPod touch 1G 
 iPod2,1   -> iPod touch 2G 
*/

如何获得这些值之一:

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);

然后您可以检查平台的开头@"iPhone" or @"iPod"并告诉您是否有带 GPS 的设备。我不建议根据您想要的内容匹配整个字符串,因为下次设备出现时(例如今年夏天,很可能)您将无法在不更改代码的情况下匹配它。

另外,如果您还没有看过,Erica Sadun(项目作者)在以下网址上有一些关于 iPhone 开发的优秀文章:ArsTechnica.com以及至少一本关于它的书。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Obj C 检测 iPhone 与 iPhone 3G 的相关文章

随机推荐