I developed one application for iPhone and now I want it on App Store. So many my iOS geek friends told me to test it on actual device i.e. on iPhone.

So I wonder that why it is necessary to to test my iPhone app on actual iPhone device though they (Apple) have given "simulator" which is near about same as my device?

You need to test application on real device to at least to look how it behaves with: 


Real device hardware
Real internet connection (including the use of a cell network vs WiFi)
Your fingers instead of mouse
Performance with other apps running in the background
The limitations of the iPhone, like cpu, disk capacity and memory (A Simulator is not an Emulator).
Real context: is it easy to use your app on the train, or while walking down the street? How about in bright sunlight or in the rain?


iOS developers, please continue this list.
