I have a relatively graphic intensive app, that runs well on iPhone 4S and iPhone 5 (as well as iPod and iPad equivalents). However, its a bit too much for hardware below the 4S threshold. Is there a way to require specific hardware to buy the app from the app store? (Not iOS version as iPhone 4 can get 6.X, but doesn't have the processing power to run the app).
tl;dr - How can I require iPhone 4S and higher to be able to download from app store?
Answer by Graham-Dunnett
Jul 08, 2013 at 08:42 PM
You cannot say that your app only runs on certain devices. You can, however, say your app needs certain features. So, if you could say your app needs an 8M camera, it would only run on 4S and 5.
Answer by Bunny83
Jul 08, 2013 at 08:47 PM
Unfortunately Apple doesn't allow you, the developer, to decide on what hardware an app can / should run. Apple determines this fully automatically. The only way you can restrict the target devices is by specifying certain hardware requirements that is only available on your desired devices.
For example we had a lot of support tickets because one of our apps didn't run probably on 3GS phones. We had to include the front-facing-camera requirement in the UIRequiredDeviceCapabilities to exclude the 3GS.
This is really a pain. The worst thing in my opinion is that Apple didn't understand our point why we need to exclude this explict device type. Sadly in most official Apple forums you see the same attitude in the majority of the community.
We had something like 15 eMails with the Apple support but the only "solution" was to require the front-facing-camera. This of course won't work for each specific restriction you want to implement. In most cases you exclude far more devices than necessary.
See this post:
Thanks for the quick and detailed response, really appreciate it! It's a shame that there's no way to disable earlier hardware without a workaround, but I think it this work.
Just so everyone knows, this solution is NO LONGER ALLOWED. App was rejected for using the UIRequiredDeviceCapabilities incorrectly.
Answer by ScottYann
Aug 04, 2013 at 12:07 AM
You can restrict your app to run on certain versions (and better/newer) of iOS. We made a similar decision with our iPad app. The iPad 1 has a tiny fraction of the performance of the iPad 2 and 3 so we definitely wanted to avoid trying to make our beautiful game run on it. Fortunately, Apple did not make iOS 6 available for it. So what we did was specify iOS 6 as our minimum requirement OS which excludes the iPad 1.
Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.
The best place to ask and answer questions about development with Unity.
To help users navigate the site we have posted a site navigation guide.
If you are a new user to Unity Answers, check out our FAQ for more information.
Make sure to check out our Knowledge Base for commonly asked Unity questions.
If you are a moderator, see our Moderator Guidelines page.
We are making improvements to UA, see the list of changes.
Answers and Comments
19 People are following this question.
More animation optimzation - using booleans to check IsPlaying()
Way to know the power of a hardware on a mobile?
Unity3.4 Mobile Terrain Lag
Mobile blur shader
lighting heavy mobile game optimization