按型号定位iPhone应用程序(例如3G vs 3GS)

与info.plist文件中所需的设备function非常相似,是否可以配置应用程序以使其仅在某些设备型号上可用?

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

例如,如果我想在iPhone 3GS(或iPhone / iPod 4)和上层而不是iPhone 3G上提供应用程序,有什么方法可以做到吗?

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

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

您可能想要查看UIRequiredDeviceCapabilities。

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