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

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!

Related

How do i prevent Apple form rejecting my app based on screen size? [duplicate]

This question already exists:
Will Apple reject my app? I dont wan't my app to support iPhone SE, 5 or 5s [closed]
Closed 2 years ago.
My app developed in React Native runs on iPhone 6 and above (all the way through to the iPhone 12 Pro Max using iOS 14.1).
Getting my apps components, images etc... to drop down to accommodate the screen size of the iPhone SE, 5 and 5s is proving damn near impossible. I know the SE is currently receiving the latest iOS updates (my SE device for example runs the latest iOS 14.2), so it seems supported, but i don't know about 5, 5s. Either way it's really not something i want to develop for.
If i submitted the app to the app market, is there a strong chance of it being rejected on the basis of not supporting the iPhone SE which has a logical width: 320 & height: 568 ?

How to skip the support for iPad , iPad 2, and iPad 3 when submitting iOS games and apps to Apple App store?

I am developing and testing my iOS game on my REAL device that is the iPad 4 (fourth generation), and it works well on the REAL iPad 4. However, I have not tested the game on the REAL older iPads such as iPad 1 and iPad 2 or even iPod. So, I would like to have 3 questions that are related to one another as follow:
(1) Xcode Simulator ?
The real iPad 1 only has 256 Mb of RAM, and the real iPad 2 only has 512 Mb of RAM. In addition, the processors of these 2 devices are certainly slower that those of the new iPads. (Unfortunately, I don't have the money to buy iPad 1 and iPad 2 for testing.)
So, if I use the Xcode simulator to test my game on these 2 devices, will the simulator accurately set up the test conditions that truly reflect the limitations of the RAM, processor speed and hardware performance of these 2 devices ? Please show me how to do that if there is a way to do that ?
(Honestly, I think that the XCODE simulator is just that: it is a simulator and NOT an emulator. Therefore, I doubt that the XCODE simulator can accurately simulate the testing conditions on the real iPad 1 and iPad 2 devices, and hence, I am afraid that my test on XCODE simulators won't be accurate. For example, the simulator may show that the game works fine, but in reality, when users install that game on the real iPad 1 and 2, it may have some lagging issue with the animation to say the least...)
(2) Skipping the iPad 1, iPad 2, iPad3, and iPod ?
Is there a way for me to tell Apple that I only want to release my game to iPad 4 (fourth generation) and newer generations of iPad, and I don't want to release my game for the iPad 1 and iPad 2 ?
(3) Apple Regulation ?
Or does Apple enforce the rule that says that all iPad games must work for all generations of iPad (including iPad 1 and iPad 2) before developers can release the games for sale on the App store ?
There are no such rules. There are two things which decide what devices should be supported.
1) Deployment target
So if your deployment target (Oldest iOS version supported) is iOS8 or iOS9 it means you need to support iPad 2 but not iPad 1 as iPad 1 cant run on iOS 8 or 9. You can wait for Xcode 8 public version and you can set minimum iOS to iOS10 , that will eliminate iPad 2.
If you want to skip both iPad 1 and iPad2 I would not run on that.
2) Valid Architecture
You can only support 64 bit processor (arm64) in build settings that will discontinue app for those devices which are not running on 64 bit processor. By doing this your app will only run on devices with Apple A7 and more Processors (You can figure out the devices)
Based on these two settings you can decide which devices you should be supporting
You can make an app iPad only. That removes the iPod from the equation.
Apple doesn't let you arbitrarily block certain versions of a device, but You can restrict your app based on OS version. The iPad 1 is old and only works up to iOS 7, if memory serves. You are likely using APIs that won't run on the iPad 1 already.
There are certain hardware-based APIs that are only available on some devices, and if your app requires one of those then it will exclude some devices.
Older devices are both slower and have less RAM. You should really test on the lowest spec device you support. (The sim is no good for performance or low memory testing.) eBay is a good source of cheap older devices.
In the requirements you can state a specific version of iOS or higher. I don't know accurately which versions of iOS that iPad 2 can support up to (for sure that iPad 1 will support up to a lower version than that one supported by iPad 2). Stating this so you excluded iPad 1 and 2. Moreover, you can state that this app is for iPad only, so you also excluded iPod and iPhone as well.

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.

iPhone 5 vs iPod Touch for development

I am currently developing iPhone apps on my iPhone 4 but I need a larger screen to test and develop on. Rather than buying a new iPhone 5 to test on (as rumour is that the iPhone 6 is about to be announced), I was thinking of buying the latest generation of iPod Touch. I was also thinking that my next phone will be an Android phone rather than an iPhone so thats another reason for the question.
From what I can see HERE the only difference between the iPhone 5 and iPod Touch is that the Touch does not have phone capabilities or Mobile Network support. For those I can always use my iPhone 4 so thats not really an issue.
Apart from these 2 features, are there any other features the iPod Touch lacks that I need to be aware of?
The answer depends on the nature of the apps you're developing. iPod doesn't have telephony and GPS capabilities, so if your app relies on Location Services then iPod is less than optimal (I believe Location Services are still available but only use Wi-Fi for positioning).
On the other hand, having a 4-inch device for testing is essential today, so having iPod is better than not having it.

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

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.

Resources