Горячий перезапуск Xamarin
Горячий перезапуск Xamarin позволяет быстро проверить изменения в приложении во время разработки, включая изменение кода, ресурсов и ссылок в нескольких файлах. Он передает новые изменения в существующий пакет приложений в целевом объекте отладки, что значительно ускоряет цикл сборки и развертывания.
Внимание
Сейчас горячий перезапуск Xamarin доступен в стабильной версии Visual Studio 2019 16.5 и поддерживает приложения iOS с помощью Xamarin.Forms. Поддержка Visual Studio для Mac и приложений, отличных от Xamarin.Forms, включена в дорожную карту.
Требования
- Visual Studio 2019 версии 16.5 или более поздней
- iTunes (Microsoft Store или 64-разрядные версии)
- Учетная запись разработчика Apple и регистрация в платной Программе для разработчиков Apple
Начальная настройка
Примечание.
По умолчанию в Visual Studio 16.8 и предыдущих версиях отключен горячий перезапуск Xamarin. Вы можете включить его в разделе "Параметры > среды > предварительной версии инструментов>", > чтобы включить горячую перезагрузку Xamarin. Начиная с Visual Studio 16.9, горячая перезагрузка Xamarin включена по умолчанию и может быть отключена из параметров > инструментов > Xamarin > iOS Параметры > включить горячую перезагрузку.
Убедитесь, что проект iOS задан в качестве запускаемого проекта, а для конфигурации сборки задано значение Debug|iPhone (Отладка|iPhone).
- Если это существующий проект, перейдите в build > Configuration Manager и убедитесь, что развертывание включено для проекта iOS.
Выберите и щелкните элемент Локальное устройство на панели инструментов, чтобы запустить мастер установки:
Если компонент iTunes не установлен, щелкните Скачать iTunes, чтобы скачать установщик. После завершения установки iTunes нажмите кнопку Далее.
Подключите устройство iOS к компьютеру. Если устройство уже подключено к сети, отключите его и снова подключите. После обнаружения устройства его имя появится в мастере. Нажмите кнопку Далее.
Введите учетные данные разработчика Apple и нажмите кнопку Далее.
Выберите команду разработчик в раскрывающемся меню, чтобы включить автоматическую подготовку в проекте. Нажмите кнопку Готово.
Примечание.
Рекомендуется использовать автоматическую подготовку, чтобы можно было легко настроить дополнительные устройства iOS для развертывания. Однако вы можете отключить ее и продолжить использование ручной подготовки при наличии подходящих профилей подготовки.
Использование горячего перезапуска Xamarin
После первоначальной настройки подключенное устройство появится в раскрывающемся меню целевого объекта отладки. Чтобы выполнить отладку приложения, выберите устройство в раскрывающемся списке и нажмите кнопку Выполнить. Visual Studio может отобразить сообщение о необходимости запустить приложение на устройстве вручную, чтобы начать сеанс отладки.
Вы можете внести изменения в файлы кода во время отладки, а затем нажмите кнопку Перезапустить на панели инструментов отладки или используйте сочетание клавиш CTRL+ SHIFT+F5 для перезапуска сеанса отладки с применением новых изменений:
Можете также использовать символ препроцессора HOTRESTART
, чтобы предотвратить выполнение определенного кода при отладке с использованием горячего перезапуска Xamarin.
Ограничения
- Сейчас поддерживаются только приложения iOS, созданные с использованием Xamarin.Forms и устройств iOS.
- Поддерживаются только 64-разрядные устройства iOS. Начиная с iOS 11 Apple больше не разрешает запускать приложения iOS на 32-разрядной архитектуре (устройства до iPhone 5s).
- Файлы раскадровки и XIB не поддерживаются, и приложение может аварийно завершить работу, если попытается загрузить их во время выполнения. Чтобы предотвратить выполнение этого кода, используйте символ препроцессора
HOTRESTART
. - Статические библиотеки и платформы iOS не поддерживаются. Если приложение попытается их загрузить, в среде выполнения могут возникнуть ошибки или сбои. Чтобы предотвратить выполнение этого кода, используйте символ препроцессора
HOTRESTART
. Но динамические библиотеки iOS поддерживаются. - Горячий перезапуск Xamarin запрещено использовать в целях создания пакетов приложений для публикации. Вам по-прежнему потребуется компьютер Mac для полной компиляции, подписывания и развертывания приложения в рабочей среде.
- Каталоги ресурсов сейчас не поддерживаются. При использовании "горячего" перезапуска в приложении отобразится стандартный значок и экран запуска для приложений Xamarin. Каталоги ресурсов поддерживаются, если выполнить сопряжение с компьютером Mac или вести разработку на таком компьютере.
Устранение неполадок
- Существует известная проблема, когда при включении сборок для конкретных устройств сеанс отладки приложения не запускается. Обходной путь — отключить это в разделе "Свойства > сборки и повторная отладка iOS". Эта проблема будет исправлена в будущем выпуске.
- Если это приложение уже установлено на устройстве, попытка развертывания с использованием горячего перезапуска может завершиться ошибкой
AMDeviceStartHouseArrestService
. Чтобы обойти эту проблему, удалите приложение на устройстве и снова разверните его. - Если ввести идентификатор Apple ID, на который не распространяется Программа для разработчиков Apple, появится следующая ошибка:
Authentication Error. Xcode 7.3 or later is required to continue developing with your Apple ID
. Чтобы использовать горячую перезагрузку Xamarin для устройств iOS, требуется действительная учетная запись разработчика Apple.
Чтобы сообщить о дополнительных проблемах, используйте средство обратной связи > в справке по > отправке отчета о проблеме.