Apple provides a simulator that can be configured to simulate several iOS devices. With Xcode 6, Apple has provided the iOS7 and iOS8 simulators (though you have to download the iOS7 simulator). There are a few things to note about the simulator:
It is a simulator, not an emulator
Most of the hardware-specific features are not supported
Some of the features do not work on the simulator with iOS8 simulation
For speed-testing and optimization, the code should be run on a device. The simulator is no stranger to us, as we have been running our code and testing it in the simulator.
When testing, you might want to test the application on different devices such as the iPhone or the iPad to check how the application renders on different devices. You might also want to choose how the application runs on normal iPad and retina iPad devices. It would be unwise to submit an application to the App store without testing on a device. To give an example, say you have an application...