区分 iPhone 3G 和 iPhone 3GS

Posted

技术标签:

【中文标题】区分 iPhone 3G 和 iPhone 3GS【英文标题】:Distinguish iPhone 3G from iPhone 3GS 【发布时间】:2009-06-22 09:30:27 【问题描述】:

是否可以使用 [UIDevice currentDevice] 的任何属性来区分 iPhone 3G 和 iPhone 3G S?

【问题讨论】:

我不知道,反正我也不想。如果要检查功能,请检查功能而不是检查版本。 【参考方案1】:

最好的检查方法是按照How to tell if your code is running on an iPhone or an iPhone3G?使用sysctlbyname("hw.machine", ...)

3GS的返回结果应该是“iPhone2,1”

【讨论】:

另外,请参阅arstechnica.com/apple/guides/2009/03/…(尽管您仍然需要为 3GS 添加 2,1 结果)。【参考方案2】:

我不这么认为——甚至 3G 的 1G 手机也不行。您必须使用 sysctls 来获取更详细的模型信息。

例如见here

【讨论】:

【参考方案3】:

也许更简单的解决方案 - 尝试

[[[UIDevice] currentDevice] isMultitaskingSupported];

iPhone 3G 没有多任务处理,而 3GS 和更新的版本有。

【讨论】:

以上是关于区分 iPhone 3G 和 iPhone 3GS的主要内容,如果未能解决你的问题,请参考以下文章

可以将我的应用程序限制为 iPhone 3GS/iPhone 4 吗?

如何检测我是否有iPhone 2G,3G,3GS

如何通过代码查找iPhone / iPod设备型号(3G,3GS,4,4S)? [重复]

如何以编程方式识别iphone(3g,4s,5)版本[重复]

在 iPhone 3G 上录制视频

iPhone 应用程序仅在 3G 上的发布模式下崩溃