What are the differences between running monotouch in a simulator and on a device?

Is there any documentation about the difference between the monotouch runtime used in the (iPad) Simulator versus working on a real device?

I recently had to change the code as a result of which an ExecutionEngineException (it seems not related to the one mentioned here ) when running on the device, but not in the simulator.

Is JIT enabled in the simulator (I know this is not on the device) or why is this difference?

(The question is also posted on the Monotouch forums here )

+4
source share
2 answers

The iOS simulator is a simulator, not an emulator. This means that when working on the simulator you have access to the full x86 JIT, where, like on the device, you can use ARM full-aot. There are a number of other subtle differences (some frames / functions are not available on the simulator).

+2
source

Remember that Simulator / iDevice is the configuration used. Double check binding behavior. You can get subtle errors if you use Reflection, and the linker has removed the Get or Set method of the property that you think was there.

It hit me several times.

+1
source

Source: https://habr.com/ru/post/1336049/


All Articles