You can create an app, but you'll still need to do on-device testing to iron out some rough spots.
- Everything is faster in the simulator, except for OpenGL and (I think) Core Animation.
- Some desktop classes use more memory than the mobile counterparts so memory usage tests are not accurate. OpenGL again here.
- The simulator never runs low on memory that I've noticed. The actual device does, of course.
- Multitouch. You can test a two-finger pinch on the simulator by holding down alt, but the touches arrive in a different order on the device leading to subtle bugs.
- No accelerometer in the sim. You can test rotation the sim, but not put the screen face up or face down.
- Filenames in the sim are not case sensitive, but the device is. Snags many a new developer.
- There are other situations like sleep/wake, iPod interaction / mixing, and phone call interruptions that you can only test on a device.
In short you can get your app running in the simulator, but I would never submit to Apple without testing on a device.
- Everything is faster in the simulator, except for OpenGL and (I think) Core Animation.
- Some desktop classes use more memory than the mobile counterparts so memory usage tests are not accurate. OpenGL again here.
- The simulator never runs low on memory that I've noticed. The actual device does, of course.
- Multitouch. You can test a two-finger pinch on the simulator by holding down alt, but the touches arrive in a different order on the device leading to subtle bugs.
- No accelerometer in the sim. You can test rotation the sim, but not put the screen face up or face down.
- Filenames in the sim are not case sensitive, but the device is. Snags many a new developer.
- There are other situations like sleep/wake, iPod interaction / mixing, and phone call interruptions that you can only test on a device.
In short you can get your app running in the simulator, but I would never submit to Apple without testing on a device.