Have you ever had problems when your changes were reflected only on the simulator, and not on the device?
Yes, this has happened to me many times.
This inconsistency starts to bother me, because when it is time for a production deployment, how do I know if the apps in the app store will work correctly?
When I first started developing iPhone, I had to rewrite a significant part of the code, because when it worked great in Simulator, it did not work properly on the iPhone. Then I realized that Simulator is not an emulator, that is, it certainly does not copy the iPhone.
You need to test on your iOS device often to make sure your code works correctly. This is what App Store reviewers will use, and what your users will use, not the simulator.
During daily development, you can use Simulator, as well as your fastest device, for example, the 5th generation iPod Touch and iPhone 5. From time to time and at the end of your development, it is good to test older, slower and larger memory limited devices, especially the oldest ones, which will launch the version of iOS that you are targeting.
source share