Copy link to clipboard
Copied
Hiya guys, I've had a look at modifying the info.plist file (UIRequiredDeviceCapabilities) in my ADT-produced ipa files, and I haven't found a way to limit iPad distribution to iPad 2 only. It seems that you can require certain hardware, but not specific devices.
If you have any info it'd be much appreciated!
We want to limit it because our app runs fine on 3GS, 4, and iPad 2, but it blacks out and crashes intermittently on iPad 1. Memory usage is varying during the crash, so our working assumption is that the display is eating the conventional memory. More on that in another thread though!
Copy link to clipboard
Copied
Hi,
At present, there is no way to do achieve this. Also, if the application is working as expected on other iOS devices, then it is a runtime bug. Please report it at https://bugbase.adobe.com and we will take a look. You can also mail me directly at mailto:sanika@adobe.com
Thanks,
Sanika
Copy link to clipboard
Copied
Thanks Sanika! By runtime bug, do you mean a problem in the runtime/AVM? Is there a recommended way to get a crash analysis? We're using ADT on the command line.
Ta!
Copy link to clipboard
Copied
Most of the optimizing I've ever done has been in order to make the iPad perform well, or to not crash. I think it all relates to how much more demanding the graphics are, with the screen area being five times that of the iPhone. It's very easy to accidentally exceed the 2048 texture size limits, like if you're zooming in on something, or scrolling a long graphic. And when you're going from one large area to another you end up moving a lot of data in and out of the graphics card.
If the app isn't urgent, I would be tempted to hold off on shipping it until AIR 2.7 is released. With that you ought to be able to run fine under CPU, and have none of those GPU memory issues.
Copy link to clipboard
Copied
Hiya Colin, thanks for the suggestions. We've tried to contact but with no response thus far, so we're going to have to go with support-via-rejection. We'll try specifying iPad 2 and above in the description on the App Store, and wait for the advice in the rejection letter!
Copy link to clipboard
Copied
As been mentioned, ideally you'd want to optimize the app to run well enough on the iPad 1, but one other option would be to specify device requirements in your Info.plist that would automatically limit the app to iPad 2s. You do this by listing device requirements, specifically still-camera and setting the device family to iPad only.
Check out UIDeviceRequiredCapabilities section here: http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html
So you could use a few device requirements that limit it to what the iPad2 supports. This needs to be added to the Info.plist. This can be done by adding the code in the -app.xml file before you compile the app, or by unzipping the ipa and modifying the Info.plist directly.
Really though, Apple is not going to look kindly on the idea of limiting the app based on perceived performance issues. There's a good chance that they'd still reject the app if you require certain hardware features, but don't actually use them in your code.
Another thing to consider, no one is going to read the description in the App Store to see if it runs on their devices. They'll download it and run it, and if it's poor performance, you'll get poor reviews. At least with limiting by hardware, the app won't install on their device (if Apple approves it of course).
Anyway, just a thought.
iBrent
Copy link to clipboard
Copied
Hi there bakedbeing,
just wondering did you end up submitting the app with the camera requirement to exclude iPad 1? And how did Apple react, accept or reject?
Thanks!