2011-01-18 1 views
4

Есть ли какая-либо документация о различии между временем выполнения monotouch, используемым в (iPad) Simulator, или работает на реальном устройстве?В чем разница между запуском monotouch в симуляторе и на устройстве?

Мне недавно пришлось изменить код, в результате которого ExecutionEngineException (похоже, не имеет отношения к указанному here) при работе на устройстве, но не в симуляторе.

Включен ли JIT в симулятор (я знаю, что его нет на устройстве) или почему это различие?

(Вопрос также размещены на форумах MonoTouch here)

ответ

2

Тренажер IOS симулятор, а не эмулятор. Это означает, что при работе на симуляторе у вас есть доступ к полной x86 JIT, где, как и на устройстве, вы можете использовать ARM full-aot. Существует также ряд других тонких различий (некоторые рамки/функции недоступны на симуляторе).

+0

Спасибо за ваш ответ, Джефф. Подождите и посмотрите, может ли кто-нибудь указать мне какую-либо официальную документацию, иначе я приму ваш ответ. –

+0

Но я думал, что симулятор - это тот, который поставляется с Xcode и поэтому запускает «Apple binaries»? Итак, как бы он знал о JIT или AOT? – Krumelur

+0

Markus, документация от Apple находится здесь: http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iphone_development/125-Using_iOS_Simulator/ios_simulator_application.html В нем конкретно не упоминаются изменения x86 и ARM , но они, безусловно, есть. –

1

Помните, что Simulator/iDevice - это используемая конфигурация. Двойная проверка поведения связывания. Вы можете получить тонкие ошибки, если используете Reflection, и компоновщик удалил метод Get или Set свойства, которое, по вашему мнению, было там.

Это ударило меня несколько раз.

Смежные вопросы