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.
Related
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.
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 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.
I want to set the iPhone the only device family available to install my app in XCODE (actually at the AppStore) but - at the AppStore - it says that it can be installed on iPhone and iPad devices;
The App is not optimized to run on a iPad :/ I'm using Phonegap in this project btw.
Note: I do have - under project settings: "Target Device Family : iPhone"
Any ideas how to fix (set) this?
You cannot prevent an iPhone application from running on an iPad. It just cannot be done at the moment, there are no special flags for it AFAIK. Most users won't be confused anyway, as iPad (specific or universal) apps are clearly marked as such on the App Store, and are easily distinguished from apps designed only for iPhone.
Now, I'm developing on iPhone SDK3 and iPodTouch 2G. iPodTouch 2G can't do full function of iOS4. I want to change iPhone SDK4 development.In july, iPhone 4 and iPad will available in singapore. So, What should I buy iPad or iPhone 4 for iPhone SDK 4 ?
What different between iPad API and iPhone 4 API ?
How about market ?
Can I write iPhone app with iPad ?
Each version of the OS has the same API for all devices, but some of them don't support all all features. For example, the UIImagePickerController allows the user to select a photo. On an iPhone, they can take a picture with the camera or pick an existing photo from their Photo Library. With iPad and iPod Touch, there is no camera, so the user could only pick a picture from their Photo Library.
If you are relying on hardware features such as camera, compass, gyroscope, accelerometer for your application, you'd need a device that has this feature as the emulator does not them.
iPhone 4 has all of the hardware features of all iPhone, iPod Touch and iPad devices. Buying an iPhone 4 with or without contract is going to cost some money, but if you're developing an application you can recover the cost with sales of your app or iAd revenue.
If your application does not need specific hardware, then the best choice for you is going to depend on cost and whether you will use the device each day. A second-hand iPhone 3GS will do almost all iOS 4.0 features except front-facing camera and gyroscope.
The iPad runs iOS 3.2 currently. Apple has said that 4.0 won't be available for the iPad until "Fall" (aka Autumn). So if you want to test 4.0 apps in July on a real device (not just the simulator), you'll need an iPhone 3GS or 4.
I'm not experiences in ObjectiveC but I guess it really depends of what you want to do. You can do everything in the emulator so I guess you want the real devices to do proper testing over your applications. The only difference between both is that iPad doesn't have the new 6 axis acelerometer and doesn't have frontal camera. Apart from that the API should be the same (removing the support for phone calls oviously). I dont know what apple is going to do about games and so on but I guess the solution will be the same than between 3gs Iphone and IPad. Since the Ipad screen resolution is still bigger than the new Iphone one, you should be able to run any iPhone application (even the new ones) in your IPad (unless they use frontal camera or any other functionality not present in the iPad).
In resume, If you only want the device for development I whould buy an IPad since you can develop and test IPad and IPhone applications, so it is much more versatile. If you have an IPhone forget about testing IPad apps since you have not enough resolution.
Hope it helps.