I will be releasing an app soon, but I specifically want to support iPhone 5 or later. Is there a way of excluding iPhone 4s devices?
My app deployment target is iOS9, and iPhone 4S is the oldest device that can have iOS9, but because of screen size constraints I would prefer not to support those devices.
No, if you are going to support iPhone you need to support all the iPhones that support the version of the operating system. Apple will reject it for not supporting the 4S. It is a pain, and I have been rejected for it.
If your app requires the Metal API, and that requirement is included in the UIRequiredDeviceCapabilities portion of the app plist, then that will prevent an iPhone 4S from downloading the app.
Related
I planned to develop application with targeted devices iPhone 5/5S, iPhone 6/6+ . I don't want my application to be runnable on iPhone 4S. Can i able to achieve that?
I googled some sites , they were mentioned that we can restrict older version mobiles like iPhone 3GS using front camera or other new features.
But in my case iPhone 4S is capable of upgrading OS version upto 8, Is there a way to restrict application for iPhone 4S ?
Need your help!
No there is not. if your app supports iOS8 it must run on all devices which support that OS. iPhone 4S included.
I noticed that WhatsApp Messenger [1] isn't available for iPad anymore.
Apple states that "iPad runs nearly all applications, or apps, designed for iPhone and iPod Touch" [2]
Now, I must have missed a memo since I knew that any iPhone App could be downloaded on iPad too.
So we finally get to my question: How to hide an iPhone App from the iPad's AppStore?
Thanks.
[1] https://itunes.apple.com/it/app/whatsapp-messenger/id310633997?mt=8
[2] http://support.apple.com/kb/ht4082
As far as I know, WhatsApp has never been available for download on the iPad. This is because they listed telephony as one of the Required Device Capabilities in their info.plist.
That's the only way that you can get an iPhone app not to install on an iPad. Apple doesn't provide any other way as they want all (most) of the iPhone apps to be compatible on iPads (if the app is not universal it'll just run in the iPhone scaled mode).
Please note that if you require telephony to achieve this, but that's not an actual requirement for your app, it will most likely be rejected on the App review process as Apple don't allow artificial hardware requirements used for limiting device types.
I am looking to make my app so that it only works on iPhone4 or higher, and not the 3GS.
How can I do this? Is it done via setting the Architectures setting to Standard Armv7/Armv7s
And Valid architectures to Armv7 & Armv7s?
Or do I need to look at deployment target? And set it to a certain iOS version?
Thanks in advance!
Deployment target is only going to allow you to target a specific iOS version and a 3GS can run iOS6. If you're truly looking to restrict older devices from running your app you're likely going to have to do some checks for device model within the AppDelegate and restrict functionality.
A caveat to this is that your app will likely not be permitted in the App Store. What feature(s) are you trying to leverage that a 3GS doesn't support?
Unfortunately you can target the iOS version not the device! You can try to build for iOS 6.0+ and it'll isolate some older devices like iPad1. I'm not sure what iOS version will go up to on 3GS, it'll be phased out soon, though with upcoming iOS releases. I know iOS 6 will work on 3GS but iPad1 won't
You can detect the device, and restrict it via code, but through Apple and iTunes, there is no device centric restrictions, only OS.
I have been struggling with this, but is there a way to make the app compatible with ONLY iPhone 4S (or new iPad + iPhone 4S) through info.plist or other means so that users with other iOS device models can not see and download the app on their device?
Yes, you can. The iPhone 4S and new iPad are the only devices that support Bluetooth 4.0 Low Energy communications. As I describe in this answer, you can add the bluetooth-le key to your UIRequiredDeviceCapabilities to prevent installation on every device but the iPhone 4S and new iPad (excepting future iOS devices).
You can see the filter grid for the various devices in the iTunes Connect Developer Guide's Appendix C - Device Compatibility Matrix.
I want to develope an app which only work on iphone,not ipad and not ipod.How I should indicate this case in info.plist or xcode project setting?
Under target device family in xcode project but you cannot avoid iPod devices.
If you require specific hardware features such as a camera or 3g, you can add the requirement to the info.plist for the app, however, the app will still run in devices such as the ipad (at iPhone 1x resolution) if the iPad has the appropriate hardware.
http://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/BuildTimeConfiguration/BuildTimeConfiguration.html#//apple_ref/doc/uid/TP40007072-CH7-SW10
The short answer is "you can't."
What you can do is specify specific bits of hardware that you need to operate, for example a camera or new enough 3G graphics capabilities. You use the UIRequiredDeviceCapabilities flag in the apps Info.plist. More in the documentation here.