I own a total of one iPhones. I want to test my app on a real iPhone, which would mean allowing Xcode to get its grubby little protuberances on my only device. Is that wise? Are there any problems with using the same phone for testing and regular phone/music/other purposes?
It might be worth it to purchase another IPhone to use only for testing while you use the main one for normal/personal use. If that isn't possible, make sure you keep a backup of all the important data, including your contacts list, and use common sense and your intution before you execute any unknown piece of code on your Iphone.
I do this with both a dev profile loaded and an 'ad hoc' provisioning profile loaded on my main phone - no issues so far.
edit: one thing I don't do is debug code remotely on the phone. I just run the normal OS.
Plus, in any case itunes can restore the phone from a backup. I've done that before when upgrading the OS, so I think the fear of developing on the phone is a bit superstitious to be honest. (touch wood :-)
I only have one iPhone and I use that for all my testing. I think it's unlikely that using or debugging an application is likely to cause any real problems even with your main handset. Certainly I have not seen any problems I could attribute to it.
Your main problem with having a single handset is beta releases. What if, say, at today's MacWorld they announce iPhone 3.0 beta. Would you be willing to put that on your only phone? Note that you often cannot downgrade from a newer version of the OS to the original, so if you had problems with the beta you might be stuck with it.
If this situation comes up it might be worth looking deep into your bank account and see if you can afford an iPod touch.
I bought an iPod Touch for development and testing use, but I'm not worried about doing anything bad to my iPhone.
- I don't want debugging sessions interrupted by phone calls.
- I have an app that I am both developing and using, so I like to be able to play around with dummy data on the Touch without screwing around with my real data on my iPhone.
- I don't mind handing the Touch to other people (including children) to let them test an app.
- It's a good way to verify that an app works on both iPhone and iPod Touch.
- I don't have to worry about accidentally leaving my iPhone back at the office, connected to the development machine.
- In theory, I could install different versions of the firmware on the Touch without worrying about lost functionality. (But I haven't done this.)
Since this question was posted, the iPhone OS 3.0 beta has been released on the world of developers - and the situation here is different. If you put the beta OS on your iPhone you cannot remove it. This is not true of the iPod touch, although caution is advised there too. OS 3.0 beta, at time of writing (now on beta 3), is steadily improving, but still has many issues, so you really don't want to be relying on it as your everyday phone!
Once 3.0 goes live, you will be able to move to that, of course - but you can't go back to 2.x due to baseband differences.