Mohamad
Mohamad

Reputation: 35339

Is owning hardware necessary for iOS development and testing?

I'm learning iOS development and I need to know what hardware I need to test my apps.

Is the iPhone/iPad simulator in Xcode sufficient? Or do I need the hardware? I have an iPad 2, and an iPhone 3G. The iPad 2 is one generation old, while my iPhone 3G is three generations old.

My first project is a basic card game with networking, based on a tutorial.

Upvotes: 1

Views: 238

Answers (5)

NSPunk
NSPunk

Reputation: 502

It's not a requirement to have a equipment to test, but certainly very important. You can test FPS of your app, even not containing hand-made OpenGL. All features that you use on your app, like view effects, are tested for sure on a device. Since simulator uses your mac memory, you won't see any side effects from memory shortage. I believe your best chance is to have a iPhone 4 and your iPad 2.

Upvotes: 1

shannoga
shannoga

Reputation: 19869

The first answer is YES, you need hardware as there are differences between the behaviour of the simulator and the devices. They won't always act the same as the simulator is a bit more forgiving than the device.

For example the simulator will find files (images/sounds/models etc.) even if the case is different between the request and the file name, the device will not find them. And there are more.

An other point is whether to buy/have devices to hold different iOS versions. I don't have them all as this is too expensive for me but I can say that this is a problem. No matter how much you will try to consider the differences between the devices you will always miss something and your app might not work or crash on this device.

Still you can consider this question by looking at the apps that you are going to work on. I would say that if your apps don't use the device hardware (camera for example) and don't have features that might cause problems on different devices you will be able to start with out the devices.

Bottom line is that if you want to deploy good working apps, in most cases it will be better if you could test your apps on a variety of devices.

Upvotes: 2

Balazs Nemeth
Balazs Nemeth

Reputation: 2332

The simulator can be used for development, but the simulator is not relevant for efficiency. It is very recommended to testing on a real device too. Some of the services can not be developed on the simulator:

  • the push notifications
  • in-app purchase
  • iCloud services

And you know, that the iPhone 3G is not able to be updated for the lastest iOS (your iPad is able).

Upvotes: 2

Phillip Mills
Phillip Mills

Reputation: 31016

Opinion: Considering the number of questions I see of the form "this works great on the simulator but not on my device" I'd say that having hardware for testing is necessary. I don't think you need every possible device but certainly ones that cover the features that your app uses.

Upvotes: 4

Sulthan
Sulthan

Reputation: 130072

It depends on features you need. Example of things you can't test in the simulator:

  • Push notifications
  • Performance of an OpenGL game (usually you need a wide set of device to test OpenGL)

Upvotes: 3

Related Questions