2012-01-17 41 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更慢。