views:

397

answers:

8

To program for the iPhone, you need an iPhone. That's because you have to compile the final version of the app on the iPhone hardware. Do you also need an iPad when you program for the iPad? Or will an iPhone also do the job?

+9  A: 

You do not need to have an iPhone to be able to compile your program for the device, and you do not need to have an iPad to compile your program for that device either. It's good to be able to test it on an actual device before you submit it, but it is not necessary. All compilation happens on the computer, not on the iPhone or iPad.

BJ Homer
A: 

No. You don't even have to get a developer license from Apple. You can just download XCode and the official iOS4 SDK and develop the application in the simulator.

However, there's small caveat - the simulator does not always behave like the real device. So at some point you want to have a device to test your app on.

Franci Penov
You'll still need an account to submit it to the App Store, though.
zekel
+2  A: 

I would imagine that for testing alone you would need an iPad. Although I've never developed on either one, basic quality control says that you really should test any app on the actual hardware it is intended to run on.

Tyr
A: 

It would certainly help to have one, but not necessary at first. Get some experience programming for your iPhone, and once you feel ready, start working on something for the iPad. The simulator works great for most tasks. However, I wouldn't release any finished product to the app store unless it had been thoroughly tested on hardware.

There are cases where it is necessary to have hardware. For example, I was doing some testing involving dragging your finger across the screen. I needed to step through the debugger while doing this. Using the simulator was impossible, since I couldn't lift my mouse pointer from the iPad screen and interact with the debugger at the same time. Having hardware allowed me to interact with the device, while working in XCode at the same time.

Tim Rupe
+5  A: 

You should have one. Those of us who released iPad apps on iPad release day can certainly tell you that there are differences between the Simulator and the device. I had two minor but ugly errors which went out with our first release of Reiner Knizia's Money for the iPad, one of which had to do with different case comparison on the two devices. I would have never seen them if I didn't have a device to check.

Shannon A.
Agreed. While not physically necessary, if you have any respect for your users, you will want to test the application on the hardware before shipping. It's not just differences in performance between desktop and iPad, you really can't get a feel for how you interact with the device until you try it yourself. Many people made bad assumptions at the launch of the iPad because they didn't make paper mockups to test the size of interface elements or how users would hold the device.
Brad Larson
True. I don't have an iPad (it's on its way!) and have built one iPad app. When I submitted, it was rejected because it crashed on the device but not the simulator. I had to change some code blindly and keep my fingers crossed.
Luke
+1  A: 

I'd say Yes, you need an iPad. Reasons, precise and real memory warnings, device wifi's real speed latency, 3g. And here's the tricky one: Some libs/features just don't work on the simulator but they work on the device and viceversa.

But I mean, you can always be googlish and search for these later cases I mention, and just be sure that you are doing things right. Otherwise, get yourself an iPad, you don't lose anything.

-edit: I didn't read the question correctly... the short answer: You don't need an iPad to compile the final .app file, but take my advice.

Rigo Vides
A: 

Not having the target device for your software is a recipe for poor user experience. Touch interfaces cannot be accurately duplicated with a mouse. There are also very specific problems with relying on the iPad simulator:

1) The actual iPad has a slower processor than the desktop simulator. Stuff that looks fast in your simulator can be slow on an actual iPad

2) The iPad simulator is not fully correct, especially in simulating web browser experience. Real iPads have weird painting issues, CSS sanity differences, caching oddnesses, and then just more crashes than the simulator.

3) Orientation changes need to be performed on a real iPad! The simulator can just misleading. Ditto for network fetch latencies, which can affect the user experience significantly especially on a 3G link. If you don't have a real iPad you'll never notice that you need load masks, "waiting for content" watermarks etc.

Michael Mullany
A: 

YES. (Unless you have no respect for your users and don't care about the quality of your app)

Guillaume