Configuring an app to run only on specific devices [duplicate] - ios

This question already has answers here:
How to configure iOS app to work on specific devices?
(3 answers)
Closed 9 years ago.
How can I set up my iOS project to run only on iPhone 5, iPhone 4S, iPhone 4, and all iPads except the iPad 1? I am committing to iOS 6 only.

I wanted to answer this in a comment but I cannot still comment everwhere. :D
Take a loook at this : How to configure iOS app to work on specific devices?

By setting Deployment Target to iOS 6, you exclude iPad 1 and any iPhone older than 3GS. Not sure about iPods, but you didn't mention them.
Since iOS 6 runs on iPhone 3GS and you don't want to support it, you need to have reason. Tell us and there may be solution.
Edit: So if the main reason is non-retina display, you can't do much. You are not alone, who would prefer all devices to be retina-capable, but unfortunately… But hey, all retina graphics just works on these devices without a problem, so just leave it like that. Users of those devices know they have poor display.

Related

How to prevent an iOS app from being installed and run on iPhone 4/4s? [duplicate]

This question already has answers here:
Restricting app installations from AppStore only to users with iPhone 5/5s/5c
(3 answers)
Closed 7 years ago.
I have an app with a very specific UI that doesn't fit screens with the 3:2 ratio, i.e. it is almost unusable on iPhone 4/4s for example.
Is there a way to prevent installations of my app on specific devices, namely iPhone 4/4s?
To exclude a certain device (eg. iPhone 4/4s) of the same type (eg. iPhone, iPad) there would need to be a requirement in your app which will not run on that devices standard configuration.
An example would be if your app used the Metal Framework, which iPhone 4/4s doesn't support. If you've thought about targeting armv7s/arm64 architectures exclusively (iPhone 4/4s use arm7) forget it — your app will be rejected.
↪︎ Source
If you're trying to exclude certain devices which are of the same type then you might have to dig deep into UIRequiredDeviceCapabilites and determine which key might eliminate the device your app doesn't support. Apple generally wants your app to support as many devices as possible, and apparently they expect it's interface to look good on all of them.
Set your Deployment Target to iOS 8+, since iPhone 4 is unable to run it.
EDIT: Unfortunately this doesn't exclude iPhone 4s
It is not possible to prevent on specific devices since iOS 9 is supported by iPhone 4s.
Check this https://stackoverflow.com/a/29677597/4108415.

Xcode Deploy to iPhone 5 and later? [duplicate]

This question already has an answer here:
Is it possible to exclude 3.5 inch screen devices when submitting an iOS app?
(1 answer)
Closed 7 years ago.
My app does not play nice with 3.5 inch screens. How do I deploy to the iPhone 5 and later only? So far my solution is to make the valid architecture arm64 only. But this leaves out the iPhone 5 & 5C.
Not building for iphone 4s goes against Apples choice of allowing it to go to iOS9, which is probably why they don't allow people to choose specific device support in the Info.plist. You can only filter out by features, so perhaps look for a feature that is not in iPhone 4s but in other devices, and say you only support that type.
https://developer.apple.com/library/ios/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html

Want my app to only work on iPhone 4 and above and no other devices

Hell all,
I have developed an app that should only work on iPhone 4 and above. The reason is during load time, the app checks the type of iPhone you have and set certain images based on the screen size.
Is this acceptable by apple for me to decide which iPhone user running and set the images based on that?
Also where do I say I want this app to run on iPhone 4 and above up until iPhone 6+ and not on any other devices such as ipad and etc?
Thanks
Borna
Set your Devices to iPhone rather than Universal under General>Deployment Info and make sure your Deployment Target is set to iOS 7.0.
As #Sam B told below, there is no way to specify certain devices.
But with following trick you can get result that you need:
Set your Devices as iPhone in General Tab of xCode proj file. Also if you want 4+ devices set Deployment Target as iOS 7, if you'll keep iOS 8+ it will be 4S+ devices only.
I don't understand how the posted answers are considered correct?
The answer to OP question is NO. There is no way for you to restrict access to certain iPhone device (4, 4S, 5, 5S, 6, 6P). If you specify your project to be "iPhone" only in Xcode then technically it will run on all iPhone no matter what the model.
Now having said that you can theoretically make it work only on iPhone 4s or above by setting iOS to 8.0 or above as one cannot load iOS 8 on iPhone 4 or below.
As for the apple reviewers, they will test your app on the latest app device, iPhone 6 or 6p. They don't have time to regression test your app on all possible apple iphone devices.
Does this make sense?

Which iDevice is best for iPhone apps testing? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I am planning to buy any iDevices low cost (iPhone or iPod) for test my iPhone application ( iOS 5 to 9), I am confused,which one is best for test my application.
Application Info :
Need Internet
Support all iPhone models
Maps
Music
Camera (back and rear)
In market we have lots of devices available iPhone 4s, 5c, 5s, 6, 6 plus, iPad mini 2,3, iPad retina,etc,...
I am confusing which one is most suitable for app development and testing. Some peoples says iPhone 4s cheapest price with good performance but you cant update OS above 9.
Please tel me one device for development and testing if iPod 6 generation suitable mean I am very happy. please post your ideas.
It all depends what you are after. Every single iPhone that's available for sale meets all your criteria besides being supported for iOS 9. If iOS9 is a must then I'll defer you to the list of devices that are supported: iPhone 6 Plus, iPhone 6, iPhone 5S, iPhone 5C, iPhone 5, iPhone 4S, iPad Air 2, iPad Air, iPad 4, iPad 3, iPad 2, iPad Mini 3, iPad Mini 2, iPad Mini, iPod Touch 5G, iPod Touch 6G.
I think the real questio comes down to two things: is this going to be your daily phone, and how much are you willing to spend?
If this is going to be your daily phone, then the answer is simple, get the latest iPhone model you can budget. If your concern is to build apps that fit on a smaller screen or weaker hardware, then the iOS simulator that the iOS development kit comes with allows you to run the simulator on all iOS screen sizes and lets you limit the simulators performance to match that of the hardware being simulated.
If you're going to get a phone that you're only developing on then you'll probably want an iPhone 5 since it is the cheapest model that will support iOS 9. If it wasn't for iOS 9 I would suggest the 4s due to its small screen and limited performance (by todays standards). This will force you to make an app that is as easily scalable and compatible as possible to smaller screen space and weaker hardware. But the same can be true of the 5 models, just to a lesser extent.
A wildcard choice is the touch 5G, which for the most part behaves almost exactly like an iPhone 5 that can only access data through WiFi. This would probably be the best choice if for example you want the cheapest development device possible, because you use a non-iOS device as your daily cellphone. I have a co-worker that actually does this and it works really well so long as you don't need to test stuff out outside of wifi range.
Just remember you don't need a physical device to test iOS apps, all you need is xCode, and its iOS simulator.
It is just easier and more effective to test with a physical device, but not at all necessary
I think iPhone 5S (or same-hardware-iPod if any) would be good for you. It will support the next couple of iOS versions. After all you will be able to test different screen sizes on the Simulator!

How to make my app run only on iPads with retina display? [duplicate]

This question already has answers here:
Restrict to certain iOS target devices for App Store submission
(4 answers)
Closed 9 years ago.
I have an app that creates graphics and I've only tested it on an iPad with retina display (screen scale of 2). Because the app heavily depends on this screen density, I'm looking for a way to exclude earlier versions of iPad, as well as iPad mini from being able to download my app from the app store.
Is there some xCode project flag or some device feature that I can use to make sure that my iOS 6.0 app would not be sold to devices which do not have retina displays?
Thank you!
I am pretty sure that any attempt to do that would get dinged by the App Store guardians. You can exclude the iPad 1 by requiring iOS 6 but that's as far as you can go.

Resources