【发布时间】:2010-12-09 19:26:07
【问题描述】:
有没有办法限制设备,即 iPhone 3G 及更高版本,而不支持 iPhone 2G 及更低版本。我找不到不同的元素。我会将其限制为 iOS 3.1,但我很确定 iPhone 2G 及更低版本可以运行 iOS 3.1。
【问题讨论】:
标签: ios
有没有办法限制设备,即 iPhone 3G 及更高版本,而不支持 iPhone 2G 及更低版本。我找不到不同的元素。我会将其限制为 iOS 3.1,但我很确定 iPhone 2G 及更低版本可以运行 iOS 3.1。
【问题讨论】:
标签: ios
有一个similar question about 3GS+。但是3G+?那可能很难。我在UIRequiredDeviceCapabilities 中没有看到任何指定 3G 无线电的内容。您可以尝试使用另一个基于 3G 具有 iPhone 没有的硬件功能的密钥,但是您可能会冒着被 Apple 拒绝的风险。
像 Sam Ritchie 所建议的那样,使用运行时检查来检测硬件也是一个坏主意,因为 (1) 这肯定会触发拒绝,如果不 (2) 使用旧设备的人将能够购买该应用程序,却发现它无法运行,他们会抱怨,这将导致 Apple 下架您的应用程序。
【讨论】:
在不诉诸 Apple 不允许的事情的情况下做到这一点的唯一方法是针对 iOS 4.0 或更高版本。 4.0 不运行在第 1 代。我知道您想以 iOS 3.1 为目标,但您要么允许所有设备,要么以 4.0 为目标。
【讨论】:
这样做的一个好方法是查看 github 上的 UIDevice-Extension 项目。它使您能够检测正在运行的硬件。
我怀疑解决此问题的方法是检查您的应用并找出您不希望早期手机用户访问的确切内容。缩小功能范围后,您可以轻松检查设备上是否存在该特定功能。为此,请在 Info.plist 中包含 UIDeviceRequiredCapabilities 键,并查看 Apple 的 Build Time Configuration 指南以获取所有可能值的列表。您可以在“声明所需的设备功能”标题下找到它。祝你好运!
【讨论】:
为您的应用添加一些基于位置的最小功能(以便 Apple 无法拒绝它),然后将“gps”键添加到您的应用的 UIRequiredDeviceCapabilities。
但考虑到 2G 用户中实际仍在购买应用程序的百分比目前似乎是微不足道的,不值得为此烦恼。只需在说明中说明不支持这些设备即可。
【讨论】:
【讨论】: