В настоящее время «дебажить» сайты, открываемые на устройствах под управлением iOS, могут только пользователи MacOS, потому что единственное средство для этого — Safari Web Inspector, который работает на основе десктопного браузера Safari. Обновление Visual Studio Code — iOS Web Debugger — призвано решить эту проблему, заявляет Microsoft в своём блоге.
Новый iOS Web Debugger работает так же, как представленный в феврале Chrome debugger: движок основан на открытой библиотеке vscode-chrome-debug-core. Связь библиотеки с iOS-устройством посредством USB (через WebKit Remote Debugging Protocol) обеспечивают два проекта с открытым кодом, ios-webkit-debug-proxy и ios-webkit-debug-proxy-win32.
При локальном запуске веб-сайтов бывает проблематично настроить доступ мобильных устройств к вашему локальному серверу разработки (обычно это HTTP-сервер, запущенный на рабочей станции). Для упрощения процесса в Android предусмотрена нативная переадресация портов, а вот в iOS такую функцию пока не внедрили.
Решение этой проблемы Microsoft нашла в эмуляции переадресации портов путём запуска localtunnel, который незаметно создаёт HTTP-шлюз между локальным компьютером и «общим» интернетом для отдельного свойства tunnelPort. Затем iOS-устройство использует этот шлюз для доступа к локальному серверу разработки, как к любому сайту в сети.
Чтобы получить возможность отладки веб-страниц для iOS, нужно установить веб-расширение Debugger for iOS в вашем VS Code. Затем потребуется создать файл с конфигурацией запуска. Подробности этого процесса описаны в Readme на странице проекта на GitHub.
В текущем релизе поддерживаются следующие «фичи»:
- установка контрольных точек,
- степпинг,
- отслеживание стека,
- отображение значений и типов всех выполняемых в реальном времени переменных,
- отладка скриптов,
- часы,
- консоль,
- вирутальная переадресация портов через HTTP-шлюз на локальном компьютере.
Сейчас iOS Web Debugger проходит публичное тестирование, во время которого Microsoft хочет выяснить ценность проекта для разработчиков. Компания призывает всех заинтересованных оставлять отзывы и замечания в Twitter или в GitHub.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.