I will be doing some iOS development, but don't know which iPhone or iTouch to buy. I will be developing for iOS5 and up. I will be doing some things such as calling a number directly from the app, but is there any specific reason, or devices I should pick up? I am fine with getting multiple phones if needed, but I want to get all of my bases covered. I'm guessing something that runs iOS5 and something that will run iOS6 will suffice. Any tips?
closed as off topic by Daniel Lawson♦ Dec 18 '12 at 1:57
Questions on Ask Different are expected to relate to Apple hardware or software within the scope defined in the FAQ. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about closed questions here.
I'm not a professional developer, just a dabbler, so take this with a grain of salt. That said, the biggest reason to test with different devices is performance. You'll probably want to test with an older/slower device (like the iPhone 3GS or 3rd generation iPod Touch) to ensure that performance is adequate. And obviously if you need cellular service and/or GPS you'll need an iPhone, not just an iPod Touch.
In reality, you could probably get away testing on one device and the simulator and be fine. Apple seems to do a pretty good job of ensuring consistent behaviour across devices, so there don't seem to be too many device-specific bugs popping up.
If you want to get a bit more serious about testing (certainly never a bad idea), having one older device running iOS 5 (like an iPhone 3GS) in addition to a newer one running iOS 6 would probably be a pretty good solution. If you want to be even more thorough, you can of course extrapolate the various permutations — faster devices on iOS 5, slower devices on iOS 6, etc.