iPhone vs iPad for testing iOS apps

Hi, I’m a Windows/Android user for quite some time, and a Unity app developer with basic -I guess- skills. I would like to make my apps cross-platform though, so I would like to target the iOS market too.

I’m familiar with the extra cost required for the iOS developer license, Unity iOS Pro, and possibly the purchase of a MacOS device (although through my reading I’ve come to the conclusion that this CAN be done through a VM and spare me a quite considerable amount of money), my question is of a different nature.

Do I need BOTH an iPhone and an iPad for my testing purposes prior to deploying my app to the market? I mean, if an app works flawlessly on an iPad does that guaranty that it will work the same on an iPhone too? Or do I have to buy both devices?

Apart from the case of different iOS versions, does different hardware or different “nature” of the devices (phone vs tablet) mean that there are cases of inconsistencies?

Thanks in advance

PS. Oh, and sorry if the following has been answered like a million times or something, but a single YES or NO would suffice. I suppose I can install an app I make on an iPad or an iPhone without having to upload it to the market, for testing purposes, right? I’m used to the “freedom” of windows/android and the things I’ve heard about the whole MacOS/iOS “lockdown” policy had made me quite skeptical…

In theory yes, in practice there are a few considerations.

I find that the “lockdown” policy here is actually one of the best features as a developer. You have a very limited range of devices to work with and each of them have very defined specifications where as Android / Win devices come in thousands of flavours and ensuring your app can run across all those devices, or even trying to find a subset that it can work on is very difficult. With iOS you can easily say “I’ll support iPhone 5 and above”, and you know what you’re dealing with. You can’t say the same about Android / Win.

The problem is that in order to guarantee functionality on all devices, you really need to test on all devices, and ideally on all versions of iOS. That gets pretty impractical so there are a few things you should do:

  1. Use the iOS simulator to make sure your game basically works on a range of devices. The simulator is very slow, but at least you can make sure your UI scales etc
  2. Decide what the “worst” device you’ll support it and make sure you can test on that. Memory and performance are your biggest problems here.
  3. Use tools like HockeyApp or Testflight to get your game out to beta testers to check for compatibility.

I have seen odd little problems which are particular to certain devices on certain iOS versions, but thankfully Unity deals with most of these problems, however, do expect to come across the odd little problem as you expand across devices.