Simulator is a great tool for rapid prototyping and development of your app allowing you to see the results of changes quickly, debug errors, and run tests. It is also important to test your app on physical devices as there are hardware and API differences between a simulated device and a physical one. In addition to those differences, Simulator is an app running on a Mac and has access to the computer’s resources, including the CPU, memory, and network connection. These resources are likely to be very different in capacity and speed than those found on a mobile device requiring tests of performance, memory usage, and networking speed to be run on physical devices.
Use the differences between Simulator and physical devices to help you determine what features and functionality to test in Simulator and what to test on physical devices.
Performance testing for processing, graphics, and networking must be done on physical devices for accurate results.
Simulator is an app running on a Mac using the computer’s resources including the CPU, memory, and network connection. As a result, the simulator is not an accurate test of an app’s performance, memory usage, and networking speed. Performance testing results in Simulator can be used only for relative differences in app functionality.
User testing should be done on physical devices when real world results are required.
User interaction with a pointer and keyboard is different from using fingers on iOS and watchOS, or from the focus based model used on tvOS.
The resolution, or pixels per point, on the device and on the Mac can differ. This results in text and images that appear jagged, especially with smaller text.
Increasing the scale of the simulator window can make text and images appear clearer.
The color gamut of the Mac screen can differ resulting in inaccurate colors.
There is a reliable connection between simulated watchOS and iOS devices because they are both running in the Simulator.
The following hardware is not supported in Simulator: