iOS app for specific devices - ios

We are working on a kids app similar to Talking Ben app. It has lots of JPEG image sequences in it for interactive animations.
The thing is the animations are playing fine on iPad Air but they are playing slow or lagging on iPad 2. This is obviously due to the 512 MB RAM in iPad 2.
My question is can we mention in the app description something like - "Recommended devices iPad 3 or later" so that users dont download it on iPad 2 ?
Or can we straight away submit app for only iPad 3 or later devices ?
Whats the legal method for this ?
In short, I want to restrict my app to be downloaded in iPad 2.
Please help guys.
Thanks

Not too familiar with specifically what architecture is used on the iPad 2, but this post may help you with regards to making sure the app is only compatible with certain architectures: Restricting app installations from AppStore only to users with iPhone 5/5s/5c

You should set bluetooth-le as a requirement in your app Required device capabilities in your info.plist.
This should prohibit your app from being installed on iPad 2 as Bluetooth-LE (bluetooth 4.0) is available only since iPad 3rd generation (see here).

Related

Excluding specific iPhone types from App Store submission

I created a SpriteKit game that needs large screen area to be played so I decided not to write the code for the iPhone SE, but now I'm not sure if I can submit it to the App Store for all devices except the SE. Please let me know whether it's possible, and if so how to do it (i.e. where on iTunes Connect would you do it).
I looked up a lot but I couldn't find anything that could help.
I also couldn't find anything in the API.
Unfortunately, there is no support from Apple for this kind of thing. But you can do something like detecting whether the user's device is an iPhone SE and if so show a full screen alert saying "App is not supported for this device" and block the UI (which is not recommended unless it's required).
Just a thought:
If you are lucky to find out one device capability which distinguish iPhone SE, you can set that to value in UIDeviceRequiredCapabilities key in info.plist.
Example: Adding an item to UIRequiredDeviceCapabilities in your Info.plist with the requirement of "bluetooth-le" should limit your app to iPhone 4S/5 and iPad 3, 4 and mini. You could also throw in a "camera-flash" requirement to limit the app to iPhones only, should you need that.
More info: Device Compatibility Matrix
As far as I know, you cannot exclude certain devices. You can exclude iPad/iPhone, or require a minimum iOS version.
If you want to exclude iPhone SE, you can add UIDeviceRequiredCapabilities of nfc.
Pay attention this will allow only iPhone 7 devices and above.
Apple filters your app on 2 bases -
iOS Version
Universal or iPhone/iPad
You can not avoid any specific iPhone model based on the screen size if you have created an app for iPhone.

Using UIRequiredDeviceCapabilities

My app was recently rejected because it did not run on devices earlier than iPhone 5. In the app description I had highlighted this, and when the app is installed on an earlier device, a pop-up appears when the app is opened which indicates that the app doesn't work on their device. From the advice given by the review team, I need to use UIRequiredDeviceCapabilities to limit my app to iPhone 5 and higher, but I am unsure as to what device capabilities only appear in the iPhone 5 and later (e.g. how to distinguish between iPhone 4s and 5 in terms of device capabilities).
Check out this link it may help you..
but mostly it is not possible.
The application can be downloaded from AppStore for iPhone 5 only

Is it possible to exclude 3.5 inch screen devices when submitting an iOS app?

When submitting an iOS app to iTunes connect, is it possible to exclude 3.5" devices? I do not want to support this screen size, just 4" and above.
I checked the iTunes Connect App Properties documentation and the App's Metadata documentation and unfortunately there doesn't look like there is an easy way to restrict your app from not being downloadable onto a iPhone 4S and older device.
But one thing you could try doing is setting your app to build for armv7s & armv8 (see this related question for more elaboration), or if that doesn't work, you could try throwing a "you need a modern iPhone in order to run this app" if it's launched on a smaller screen. This might be okay if your app is free, but you certainly will have an interesting time getting it onto the store if it's a paid app.

Can we restrict download or launch of an universal app in iPad 1 alone?

I have a universal app, it supports both iPad and iPhone. I do not want the app to be downloaded or launched in iPad 1 alone.
When the user downloads the app from App Store, is there a way to disable the download or launch of the app only for the first generation of iPad.
If not, can I add it in "What's new" option during the release of the app to App Store. Since it is a next version of release.
Please help.
Thanks in advance.
You could try to find a restriction with the UIRequiredDeviceCapabilities key in the info.plist. But this key only allows restrictions like armv7, magnetometer, etc. (full list available here). So you can't filter only iPads of the first generation.
Anyway, what you could do is checking at runtime whether it's an iPad 1 or not.
With this Library it's quite simple:
if([[UIDevice currentDevice] platformType] == UIDevice1GiPad){
//it's an iPad 1!
}
I don't believe you can restrict your software to a certain class of devices, but you can impose limits based on iOS version. The newest version of iOS supported by the original iPad is 5.1.1, which is quite dated now, so you might consider requiring iOS6+ on the App Store.
Also, you could require the device to have a camera, which the iPad 1 does not. But beware that Apple could reject your app if it does not actually use the camera.
Best possible way is to give the support for iOS 6+ which will exclude the ipad first generation.

iPad iOS3.2 and advertising

Are there (good) ways to deliver paid-for ads to iPads running iOS3.2?
iAd works on iOS4.0 and higher, and AdMob seems to support only the iPhone/iPod Touch devices, not the iPad.
AdMob supports the iPad, and they provide a couple of different banner sizes specifically for it: 320x270, 488x80, and 748x110, all defined in AdMobView.h. If you don't have those options available, you probably need to download an updated version of the AdMob SDK.
Every iPad running iO S3.2 is eligible for a free upgrade to iOS 4; the situation is different from iPhone and iPod touch, where various versions co-exist.
So, I don't think you have to care for iOS 3.2 users on iPad. I think people who buy apps on iPad would surely have updated to iOS 4 by now.

Resources