【问题标题】:Target iPhone application by model (e.g. 3G vs 3GS)按型号定位 iPhone 应用程序(例如 3G 与 3GS)
【发布时间】:2011-05-15 04:34:24
【问题描述】:

很像 info.plist 文件中所需的设备功能,是否可以将应用程序配置为仅在某些设备型号上可用?

我知道如何按设备系列(iPhone 和 iPod 与 iPad)定位它,但在这种情况下,我希望按型号定位。我也知道如何以编程方式确定模型,但我想要的是让 iTunes 阻止某些设备模型能够下载应用程序,这就是为什么通过 info.plist 这样做似乎是最好的方法。

例如,如果我希望某个应用在 iPhone 3GS(或 iPhone/iPod 4)及更高版本上可用,但在 iPhone 3G 上不可用,有什么办法吗?

【问题讨论】:

  • 今天每 1/2 小时会询问一次此问题。
  • 嗯?没看到...
  • 可能重复 [如何使我的应用程序仅适用于 iPhone 3GS 或更快的设备在 App Store 上可用? ](stackoverflow.com/questions/3472278/…)

标签: iphone ios device target


【解决方案1】:

没有办法做到这一点,除了代码。 Apple 不鼓励这样做,而是要求您需要特定功能而不是特定型号。

您可以做的最好的事情是在产品说明中注明并非所有功能都可在 3G 硬件上使用/执行,例如,然后在代码中禁用这些功能或让它们运行不佳。

【讨论】:

  • 太糟糕了。对于我想要的,在代码中检查它并不好(我不希望 iPhone 3G 用户购买该应用程序却发现它会在启动时崩溃)。幸运的是,我们设法解决了导致崩溃的问题,因此不再需要此问题。
【解决方案2】:

您可能想查看UIRequiredDeviceCapabilities.

【讨论】:

  • 进一步提示:3GS 有一个磁力计。 3G 没有。
  • 谢谢 Dan,我以前看过这个列表,但没有注意到那个。
  • 此外 ... 3GS 支持 OpenGL ES 2 ...3G 不支持 ;)
【解决方案3】:

将 armv7 放在应用程序 info.plist 的 UIRequiredDeviceCapabilities 中。这将阻止应用程序在使用 armv6 处理器架构的 iPhone 3G 上加载。

【讨论】:

  • 我发现这也会停止第二代 iPod Touch。因此,如果您只想排除 iPhone 3G(比如我),那就不行了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-15
  • 1970-01-01
  • 1970-01-01
  • 2012-01-15
  • 1970-01-01
相关资源
最近更新 更多