Разработчик запустил iOS 27 на Mac из терминала

mr. Cooper 1 час назад Инсайды и новости
Разработчик запустил iOS 27 на Mac из терминала

iOS 27 можно запустить на Mac с Apple Silicon - причём управлять этим процессом разработчик может прямо из терминала.

Для этого появился open-source проект vphone-cli. Он использует Apple Virtualization.framework и позволяет собрать виртуальное окружение, в котором загружается сама мобильная система. Речь идёт именно об iOS, а не о приложении для Mac и не о трансляции экрана настоящего iPhone.

Проект интересен ещё и тем, что Apple не предлагает разработчикам полноценную виртуальную машину с iOS. Есть Simulator, но он предназначен прежде всего для тестирования приложений и работает иначе.

А здесь разработчики полезли гораздо глубже.

Что происходит после запуска команды

vphone-cli берёт на себя довольно большую часть подготовки виртуального iPhone. Инструмент работает с прошивкой, подготавливает необходимые компоненты, применяет патчи и проводит восстановление системы через DFU.

После этого виртуальная машина загружается на Mac.

С ней уже можно работать как с отдельным устройством. Для доступа используется графический интерфейс, а подключиться к системе можно и по SSH. То есть это не просто красивое окно, показывающее загрузку iOS. Внутри действительно работает мобильная система, с которой можно взаимодействовать.

Правда, назвать процесс обычной установкой было бы слишком оптимистично. Для запуска требуются Mac на Apple Silicon, macOS 15 или новее, Xcode с iOS SDK и дополнительные изменения в настройках безопасности системы.

И самое интересное начинается уже после загрузки.

Почему iOS 27 пришлось дополнительно чинить

Виртуальная машина всё-таки отличается от настоящего iPhone. Прошивка рассчитана на конкретное аппаратное окружение, а Virtualization.framework создаёт другой набор условий.

С iOS 27 это особенно хорошо проявилось на графике.

На определённом этапе система уже запускалась, но вместо нормального изображения в окне виртуальной машины появлялся чёрный экран. При этом сама iOS продолжала работать, а графический интерфейс можно было получить другим способом - через VNC внутри гостевой системы.

Получилась странная картина: система загружена, интерфейс существует, подключиться к ней можно, но стандартное представление виртуальной машины на Mac его не показывает.

Разработчикам пришлось разбираться с тем, как iOS 27 выводит изображение, и отдельно исправлять путь обработки framebuffer. После изменений графику удалось вывести непосредственно через представление Virtualization.framework.

Это хорошо показывает, с чем на самом деле приходится иметь дело при таком запуске. Одной загрузки прошивки недостаточно. Нужно ещё убедить отдельные части iOS, что они работают в подходящей среде.

Зачем вообще запускать iOS на Mac

Для обычного пользователя практической пользы здесь немного.

Если нужно просто проверить приложение, гораздо проще открыть Simulator. Покупать или настраивать отдельное виртуальное окружение ради повседневной работы с iOS смысла практически нет.

Совсем другая ситуация у тех, кто занимается внутренним устройством системы.

Исследователи могут изучать поведение iOS в контролируемой среде, разработчики системного ПО - экспериментировать с загрузкой и отдельными компонентами, а специалисты по безопасности получают возможность проводить исследования без постоянной работы с физическим iPhone.

Причём сама идея виртуального iPhone здесь важнее удобства.

Apple контролирует довольно большую часть программной и аппаратной экосистемы своих устройств. Когда независимым разработчикам удаётся заставить iOS работать в виртуальной среде, они получают возможность исследовать систему там, где раньше требовалось физическое устройство.

Конечно, назвать vphone-cli готовой заменой iPhone пока нельзя. Проект требует специфического оборудования и ручной настройки, а некоторые компоненты работают благодаря исследовательским патчам. Это скорее инструмент для энтузиастов и специалистов, чем продукт для массового использования.

Но сам факт запуска iOS 27 на Mac уже показателен.

Получается довольно необычная вещь: мобильная система, которую Apple проектирует для конкретного железа, теперь можно загрузить в виртуальной среде на другом компьютере и подключаться к ней из терминала.

Для разработчиков и исследователей это открывает ещё один способ заглянуть внутрь iOS - без постоянной привязки к физическому iPhone.

Комментарии

Пока нет комментариев. Будьте первым, кто напишет.

Чтобы оставить комментарий, войдите в аккаунт.

Похожие статьи