2012-01-17 57 views
3

我的iPhone游戏大量使用OpenGL ES 2.0 API,并且仅使用此版本(它需要着色器)。是否有可能使其仅适用于iPhone 3GS +?不允许以前版本的客户下载它?AppStore:阻止3G设备的游戏

编辑:我听说无尽之剑只能在iPhone4上运行,他们是怎么做到的?在appstore中是否有其他游戏需要OpenGL ES 2.0而没有其他游戏?如果有这样的事情,我该怎么做?

回答

6

你可以让你的应用程序商店只对某些型号UIRequiredDeviceCapabilities可见的应用程序。 查看article

感谢。

0

我不确定这是可能的,但您可以在iOS版本上添加检查。如果它的值为5.0或更高,则让应用程序运行,否则请提供反馈,说明此应用程序需要iOS 5.0或更高版本。 AFAIK的iOS 5.0只能在iPhone 3GS +安装

希望它可以帮助

+0

这是一个很好的出路。但还有另一种方式吗?我听说无尽之剑只能在iPhone4上运行,他们是怎么做到的,我想知道...... – user642252 2012-01-17 14:52:32

+1

只是检查了无限刀片。它说它运行在iPhone 3GS +上,但我不确定它是否显示在搜索3G或更早版本。我认为@mohacs的答案是你正在寻找的东西 – Novarg 2012-01-17 14:57:09

+0

这不是准确的。我的iPhone 3Gs目前正在运行iOS 6很开心... – Piku 2012-11-20 09:44:40

4

要扩大mohacs的答案,如果您只想让应用程序可用于某些设备类别,您可以在Info.plist中的UIRequiredDeviceCapabilities项目中设置各种键。在“设备兼容性列表”一节中,可以在苹果的iTunes Connect Developer Guide中找到哪些设备的哪些功能的最终列表。

如果您依赖OpenGL ES 2.0支持来让您的应用程序在设备上运行,那么您需要opengles-2出现在您的UIRequiredDeviceCapabilities中。 iPhone 3G S是第一款支持OpenGL ES 2.0的iOS设备,因此可以过滤出原始的iPhone,iPhone 3G以及第一代和第二代iPod touch。这里有很多应用需要这样的应用,并且像Marco Arment reporting that fewer than 3% of the iOS devices in the wild lack support for OpenGL ES 2.0这样的人,这是一个安全的过滤器。

你提到只支持iPhone 4及以上。这是一个有点棘手过滤掉,因为虽然你可以使用gyroscopefront-facing-camera键瞄准新A4或A5处理器的设备,这将不包括原来的iPad,其中有硬件略有更强大的比iPhone 4

我的建议是针对iPhone 3G S,因为iPhone 4并不比3G S强大。另外,iPhone 4的Retina显示屏可能意味着填充率限制的OpenGL ES应用程序可能会运行很多由于您需要渲染的像素数量不同,所以比3G S更慢。