3 ms·
In the iOS sense of the question: An emulator would be binary compatible with the actual device by emulating the ARM instruction set on top of x86. The iOS sim
by evilduck 14y ago
In the iOS sense of the question:
An emulator would be binary compatible with the actual device by emulating the ARM instruction set on top of x86. The iOS simulator doesn't do this but instead runs a flavor[1] of iOS natively directly on x86 that is API compatible but not binary compatible (i.e. compiled binaries for the simulator cannot be ran on the devices).
[1] The simulator OS also has distinct limitations that diverge from the real device or what you would expect from a truly emulated environment. There's no motion detection, no GPU performance, no accelerometer or compass, location data is simulated, multitouch input is limited, some frameworks are not available, etc).
- sjwright 14y agoEven if the environment was "truly emulated", there would still be no motion detection, accelerometer, compass, location data or multitouch input. Nor is it likely for the emulated environment to be able to provide a sufficiently accurate performance analogue to the devices' CPU and GPU. The simulator is the ideal development environment: stupidly fast, and completely reliable for most day-to-day development tasks. For Apple to provide more accuracy in the simulator would be a waste of their time, when you can just as easily run your app on a device.