Является ли Mono Framework или Mono Runtime частью пакета Xamarin IOS ipa? - PullRequest
0 голосов
/ 28 августа 2018

По сути, мой вопрос таков: если Xamarin IOS статически компилируется или компилируется заранее (AOT), зачем нам Mono Runtime внутри ipa?

Может быть я не понимаю, как работает xamarin ios в устройствах ios?

Пожалуйста, кто-нибудь может пролить свет?

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

зачем нам Mono Runtime в ipa?

Собственный код ARM, сгенерированный процессом AOT Xamarin.iOS (mtouch), зависит от времени выполнения Mono, поскольку процесс AOT не является компилятором транскодирования.

Эта зависимость в основном предназначена для сборщика мусора, но она также обеспечивает интерфейс времени выполнения из низкоуровневых вызовов инфраструктуры .Net / Mono к операционной системе iOS | tvOS | watchOS.

0 голосов
/ 28 августа 2018

При компиляции любого приложения на платформе Xamarin Mono C # (или F #) Компилятор запустится и скомпилирует ваш код на C # и F # в Microsoft Средний язык (MSIL). Если вы работаете с Xamarin.Android, Приложение Xamarin.Mac или даже приложение Xamarin.iOS на симулятор .NET Common Language Runtime (CLR) компилирует MSIL используя компилятор Just in Time (JIT). Во время выполнения это компилируется в нативный код, который может работать на правильной архитектуре для вашего применение.

Однако на iOS есть ограничение безопасности, установленное Apple, которое запрещает выполнение динамически сгенерированного кода на устройстве. к убедитесь, что мы придерживаемся этих протоколов безопасности, вместо Xamarin.iOS использует компилятор Ahead of Time (AOT) для компиляции управляемого кода. это создает собственный бинарный файл iOS, опционально оптимизированный с помощью LLVM для устройства, которые могут быть развернуты на процессоре Apple на базе ARM.

iOS App Architecture эта ссылка может быть полезна вам для более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...