Знакомство с режимом разработчика — WWDC22 — Видео
Больше видео
Знакомство с режимом разработчика — требуется в iOS 16, iPadOS 16 и watchOS 9 для установки, запуска и отладки ваших приложений во время разработки. Мы покажем вам, как включить режим разработчика на своих устройствах и как включить режим разработчика в ваших рабочих процессах автоматизации.
Ресурсы
Похожие видео
WWDC22
Скачать
♪ Мягкий инструментальный хип-хоп ♪ ♪ Привет, ребята. Меня зовут Павел. Я работаю над технологиями безопасности, которые помогают обезопасить вас и ваших пользователей. Сегодня я расскажу вам о некоторых предстоящих изменениях, которые могут повлиять на то, как вы разрабатываете, тестируете и развертываете свои приложения. Во-первых, я хочу рассказать вам, что такое режим разработчика, почему он был создан, преимущества безопасности, которые он дает, и рабочие процессы, на которые он повлияет.

Затем мы обсудим, когда и как включить режим разработчика. А затем мы закончим этот сеанс обзором инструментов, которые мы создали для поддержки процессов автоматизации, когда вы работаете со многими устройствами, например, в среде лаборатории тестирования. Итак, что такое режим разработчика? Это новый режим в iOS 16 и watchOS 9.что позволяет использовать общие рабочие процессы разработчиков. Режим разработчика отключен по умолчанию и требует, чтобы вы явно зарегистрировали устройство в режиме разработчика. Ваша регистрация сохраняется после перезагрузки и обновлений системы. И, конечно же, мы создали инструменты, которые позволяют автоматизировать настройку режима разработчика, если вы хотите. У вас может возникнуть естественный вопрос: «Почему мы вводим режим разработчика?» Причина в том, что в целевых атаках используются мощные функции разработчиков. Между тем подавляющему большинству пользователей такой функционал не нужен, поэтому его не следует включать по умолчанию. Таким образом, мы можем сохранить возможности разработки, на которые вы полагаетесь, и повысить безопасность пользователей с помощью мер по смягчению последствий, которые в противном случае помешали бы вам.
Сказав это, для большинства распространенных потоков распространения не требуется режим разработчика. Например, для развертывания вашего приложения через TestFlight или с помощью внутреннего распространения Enterprise режим разработчика не требуется. И, конечно же, распространение ваших приложений через App Store не требует режима разработчика. Это требуется только тогда, когда вы, разработчик, активно разрабатываете свое приложение на своем устройстве. Хорошо, к этому моменту я уверен, что вы не можете дождаться, пока я расскажу вам, как вы начнете использовать режим разработчика. Итак, давайте рассмотрим, когда вам нужно включить режим разработчика и как это сделать. Вам следует включить режим разработчика, если вам нужно запускать и устанавливать приложения, подписанные для разработки, включая приложения, подписанные с помощью личной команды; отлаживать и инструментировать ваши приложения; или вы хотите использовать автоматизацию тестирования на своем устройстве. Включить режим разработчика очень просто, но сначала вам нужно подключить свое устройство к Xcode, чтобы появился пункт меню «Режим разработчика».
Бета-версии, которые вы загрузили, будут иметь этот пункт меню в настоящее время всегда видимым. Установка подписанного приложения без Xcode, например, через Apple Configurator, также сделает этот пункт меню видимым. Сделав это, вы сможете найти элементы управления режима разработчика в разделе «Конфиденциальность и безопасность» в настройках. А для автоматизации вы можете использовать новый devmodectl, который по умолчанию поставляется в macOS Ventura, но об этом позже. Итак, давайте рассмотрим, как включить режим разработчика. Передо мной iPhone 13 Pro, который я только что взял, чтобы запустить свой код. Во-первых, я собираюсь подключить его к моему Mac, на котором уже запущен Xcode. Как видите, Xcode распознает, что на этом устройстве не включен режим разработчика, и не позволит мне запустить это приложение. Но теперь, когда я подключил его, я могу зайти в «Настройки», «Конфиденциальность и безопасность», «Режим разработчика».Включение режима разработчика требует перезагрузки устройства, так что давайте сделаем это.

После перезагрузки устройства вам еще раз будет предложено подтвердить свое решение. Как только вы нажмете «Включить», все будет готово. Теперь Xcode видит, что на устройстве включен режим разработчика, и я могу запустить свое приложение.
Хотя этот процесс работает, когда вы работаете с одним устройством, этот процесс может занять много времени, если вы имеете дело с несколькими устройствами. По этой причине мы создали инструменты, которые помогут вам автоматизировать этот процесс. Потоки автоматизации имеют одно ограничение: только устройства без кода доступа могут автоматически включать режим разработчика. Это связано с тем, что при перезагрузке iPhone вам необходимо разблокировать устройство, прежде чем с ним можно будет взаимодействовать. Для поддержки автоматизации macOS Ventura поставляется с devmodectl, который можно использовать либо для включения режима разработчика на одном устройстве, которое вы уже подключили, либо в режиме потоковой передачи, который автоматически включает режим разработчика на всех подключаемых устройствах.

Вот два устройства, подключенные к моему Mac.
У них нет паролей, и я не хочу вручную настраивать для них режим разработчика. Итак, я собираюсь запустить devmodectl с подкомандой потоковой передачи. Это автоматически перезагрузит подключенные устройства и настроит режим разработчика. После настройки режима разработчика вы получите уведомление на устройстве.
Теперь эти устройства готовы к работе. Хорошо, это все, что у меня есть для вас сегодня. Подводя итог, в iOS 16 и watchOS 9вам нужно будет включить режим разработчика для выполнения обычных действий по разработке, таких как развертывание и отладка ваших приложений. А если вам нужно автоматизировать настройку режима разработчика, вы можете использовать devmodectl, который поставляется в macOS Ventura. Если вы хотите узнать больше об изменениях безопасности, которые могут повлиять на ваши рабочие процессы распространения macOS, ознакомьтесь с докладом «Что нового в нотариальном заверении для приложений Mac». Желаю вам отличного отдыха и удачного кодирования! ♪
Ищете что-то конкретное? Введите тему выше и сразу переходите к интересным материалам.

Функции режима разработчика и отладка — приложения Windows
- Статья
- 9 минут на чтение
Если вас интересуют только основы установки режима разработчика в вашем приложении, следуйте инструкциям, приведенным в разделе, позволяющем начать разработку на вашем устройстве. В этой статье рассматриваются расширенные функции режима разработчика, режима разработчика в предыдущих версиях Windows 10 и отладки сбоев, связанных с установками в режиме разработчика.
Дополнительные функции режима разработчика
Для каждого семейства устройств могут быть доступны дополнительные функции разработчика. Эти функции доступны только тогда, когда на устройстве включен режим разработчика (и могут различаться в зависимости от версии вашей ОС).
На этом изображении показаны функции разработчика для Windows:
Портал устройств
Дополнительные сведения о портале устройств см. в разделе Обзор портала устройств Windows.
Инструкции по настройке для конкретного устройства см.:
- Портал устройств для рабочего стола
- Портал устройств для HoloLens
- Портал устройств для Интернета вещей
- Портал устройств для мобильных устройств
- Портал устройств для Xbox
Если вы столкнулись с проблемами при включении режима разработчика или портала устройств, посетите форум «Известные проблемы», чтобы найти обходные пути для этих проблем, или посетите раздел «Не удалось установить пакет режима разработчика», чтобы узнать, какие базы знаний WSUS следует разрешить, чтобы разблокировать пакет режима разработчика.
Загрузка неопубликованных приложений
Важно
Начиная с последнего обновления Windows 10 этот параметр не отображается (поскольку по умолчанию включена неопубликованная загрузка).
Параметр неопубликованных приложений обычно используется компаниями или учебными заведениями, которым необходимо устанавливать пользовательские приложения на управляемые устройства без использования Microsoft Store (или кем-либо еще, кому необходимо запускать приложения из источников, отличных от Microsoft). В этом случае организация обычно применяет политику, которая отключает параметр приложений UWP. Организация также предоставляет необходимый сертификат и место установки для загрузки неопубликованных приложений. Дополнительные сведения см. в статьях Microsoft Learn, посвященных загрузке неопубликованных приложений Windows и основам Microsoft Intune.
Информация о семействе устройств:
- На семействе настольных устройств : вы можете установить пакет приложения (
.) и любые сертификаты, необходимые для запуска приложения, запустив сценарий Windows PowerShell, созданный с помощью пакет (
appx Add-AppDevPackage.ps1). Дополнительные сведения см. в разделе Упаковка классического приложения или приложения UWP в Visual Studio. - На мобильных устройствах семейства : если требуемый сертификат уже установлен, вы можете нажать на файл, чтобы установить любой
.appxотправлено вам по электронной почте (или на SD-карте).
Неопубликованные приложения являются более безопасным вариантом, чем режим разработчика, поскольку вы не можете устанавливать приложения на устройство без доверенного сертификата.
Примечание
Если вы загружаете неопубликованные приложения, вам все равно следует устанавливать приложения только из надежных источников. Когда вы устанавливаете неопубликованное приложение, не сертифицированное Microsoft Store, вы соглашаетесь с тем, что получили все права, необходимые для загрузки неопубликованного приложения, и несете единоличную ответственность за любой ущерб, который может возникнуть в результате установки и запуск приложения.
См. Windows → Microsoft Store раздела этого заявления о конфиденциальности.
SSH
Службы SSH включаются при включении функции обнаружения устройств на вашем устройстве. Это используется, когда ваше устройство является целью удаленного развертывания для упакованных приложений MSIX. Имена служб: SSH Server Broker и SSH Server Proxy .
Примечание
Это не реализация Microsoft OpenSSH, которую вы можете найти на GitHub.
Чтобы воспользоваться услугами SSH, вы можете включить обнаружение устройств, чтобы разрешить сопряжение контактов. Если вы собираетесь запустить другую службу SSH, вы можете настроить ее на другом порту или отключить службы SSH в режиме разработчика. Чтобы отключить службы SSH, отключите обнаружение устройств.
Вход по SSH осуществляется через учетную запись DevToolsUser , которая принимает пароль для аутентификации. Этот пароль представляет собой PIN-код, отображаемый на устройстве после нажатия кнопки Device Discovery Pair , и он действителен только во время отображения PIN-кода.
Подсистема SFTP также включена для ручного управления папкой DevelopmentFiles , в которой из Visual Studio устанавливаются отдельные развертывания файлов.
Предостережения по использованию SSH
Существующий сервер SSH, используемый в Windows, еще не совместим с протоколом. Использование клиента SFTP или SSH может потребовать специальной настройки. В частности, подсистема SFTP работает в версии 3 или ниже, поэтому любой подключающийся клиент должен быть настроен на работу со старым сервером. Сервер SSH на старых устройствах использует ssh-dss для аутентификации с открытым ключом (которая устарела в OpenSSH). Для подключения к таким устройствам клиент SSH должен быть вручную настроен на прием ssh-dss .
Обнаружение устройств
Когда вы включаете обнаружение устройств, вы разрешаете своему устройству быть видимым для других устройств в сети через mDNS. Эта функция также позволяет получить PIN-код SSH для сопряжения с устройством, нажав кнопку Pair , отображаемую сразу после включения обнаружения устройств.
Этот запрос ПИН-кода должен отображаться на экране, чтобы выполнить первое развертывание Visual Studio, ориентированное на устройство.
Включать обнаружение устройств следует только в том случае, если вы намерены сделать устройство целью развертывания. Например, если вы используете портал устройств для развертывания приложения на телефоне для тестирования, вам необходимо включить обнаружение устройств на телефоне, но не на компьютере для разработки.
Оптимизация для проводника Windows, удаленного рабочего стола и PowerShell (только для настольных ПК)
В семействе настольных устройств страница настроек Для разработчиков содержит ярлыки для настроек, которые можно использовать для оптимизации ПК для задач разработки. Для каждого параметра вы можете установить флажок и нажать Применить (или щелкните ссылку Показать настройки , чтобы открыть страницу настроек для этого параметра).
Примечания
В ранних версиях Windows 10 Mobile параметр Аварийные дампы присутствовал в меню Параметры разработчика .
Это было перемещено на портал устройств, чтобы его можно было использовать удаленно, а не только через USB.
Существует несколько инструментов, которые можно использовать для развертывания приложения с ПК с Windows 10 на устройство с Windows 10. Оба устройства должны быть подключены к одной и той же подсети сети (проводным или беспроводным соединением) или они должны быть подключены через USB. Оба этих варианта устанавливают только пакет приложения ( .appx или .appxbundle ). Они не устанавливают сертификаты.
- Используйте средство развертывания приложений Windows (
WinAppDeployCmd). Узнайте больше об инструменте WinAppDeployCmd. - Вы можете использовать портал устройств для развертывания из браузера на мобильное устройство под управлением Windows 10 версии 1511 или более поздней. Используйте страницу приложений на портале устройств, чтобы загрузить пакет приложения (
.appx) и установить его на устройство.
Не удалось установить пакет режима разработчика
Иногда из-за сетевых или административных проблем режим разработчика не устанавливается правильно. Пакет режима разработчика требуется для удаленного развертывания на этом ПК (с помощью портала устройств из браузера или обнаружения устройств для включения SSH), но не для локальной разработки. Даже если вы столкнетесь с этими проблемами, вы все равно сможете развернуть свое приложение локально с помощью Visual Studio (или с этого устройства на другое устройство).
Посетите форум «Известные проблемы», чтобы найти обходные пути для этих (и других) проблем.
Примечание
Если режим разработчика не устанавливается правильно, мы рекомендуем вам отправить запрос обратной связи.
- Установите приложение Feedback Hub (если оно у вас еще не установлено) и откройте его.
- Нажмите Добавить новый отзыв .
- Выберите категорию Developer Platform и подкатегорию Developer Mode .

- Заполните поля (при желании можно прикрепить скриншот) и нажмите Отправить .
Отправка отзыва поможет Microsoft решить проблему, с которой вы столкнулись.
Не удалось найти пакет
Пакет режима разработчика не может быть найден в Центре обновления Windows. Код ошибки 0x80004005. Учить больше.
Эта ошибка может возникнуть из-за проблемы с сетевым подключением, настроек предприятия или отсутствия пакета.
Чтобы устранить эту проблему:
Убедитесь, что ваш компьютер подключен к Интернету.
Если вы используете компьютер, присоединенный к домену, обратитесь к сетевому администратору. Пакет режима разработчика (как и все функции по запросу) по умолчанию заблокирован в WSUS 2.1. Чтобы разблокировать пакет режима разработчика в текущем и предыдущем выпусках, в WSUS должны быть разрешены следующие КБ:
.- 4016509
- 3180030
- 3197985
Проверить наличие обновлений Windows в Параметры → Обновления и безопасность → Обновления Windows .

Убедитесь, что пакет режима разработчика Windows присутствует в Параметры → Система → Приложения и функции → Управление дополнительными функциями → Добавить функцию . Если он отсутствует, Windows не сможет найти правильный пакет для вашего компьютера.
После выполнения описанных выше действий отключите , а затем снова включите Режим разработчика, чтобы проверить исправление.
Не удалось установить пакет
Не удалось установить пакет режима разработчика. Код ошибки 0x80004005. Учить больше.
Эта ошибка может возникать из-за несовместимости между вашей сборкой Windows и пакетом режима разработчика.
Чтобы устранить эту проблему:
- Проверьте наличие обновлений Windows в разделе «Настройки» → «Обновления и безопасность» → «Обновления Windows» .
- Перезагрузите компьютер, чтобы применить все обновления.

Используйте групповые политики или ключи реестра для включения устройства
Для большинства разработчиков вам потребуется использовать приложение настроек, чтобы включить устройство для отладки. В определенных сценариях (например, при автоматизированных тестах) вы можете использовать другие способы включения настольного устройства Windows для разработки.
Примечание
Эти шаги не позволят включить сервер SSH или сделать устройство целевым для удаленного развертывания и отладки.
Вы можете использовать gpedit.msc , чтобы настроить групповые политики для включения вашего устройства, если у вас нет Windows 10 Домашняя или Windows 11 Домашняя . Если вы это сделаете, вам нужно будет использовать команды regedit или PowerShell, чтобы напрямую установить ключи реестра для включения вашего устройства.
Используйте gpedit, чтобы включить ваше устройство
Выполнить
gpedit.msc.
Перейдите к Политика локального компьютера → Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Развертывание пакетов приложений .
Измените следующие политики, чтобы включить неопубликованную загрузку:
- Разрешить установку всех доверенных приложений.
ИЛИ
Измените следующие политики, чтобы включить загрузку неопубликованных приложений и режим разработчика:
- Разрешить установку всех доверенных приложений.
- Позволяет разрабатывать приложения UWP и устанавливать их из интегрированной среды разработки (IDE) .
- Перезагрузите компьютер.
Используйте regedit для включения вашего устройства
Запустите
regedit.Чтобы включить неопубликованную загрузку, установите значение этого
DWORDна1:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock\AllowAllTrustedAppsИЛИ
Чтобы включить режим разработчика, установите значения этого
DWORDна1:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock\AllowDevelopmentWithoutDevLicense
Используйте PowerShell для включения вашего устройства
Запустите PowerShell с правами администратора.

Чтобы включить неопубликованную загрузку, выполните следующую команду:
PS C:\WINDOWS\system32> reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" /t REG_DWORD /f /v "AllowAllTrustedApps" /d "1"
ИЛИ
Чтобы включить режим разработчика, выполните следующую команду:
PS C:\WINDOWS\system32> reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" /t REG_DWORD /f /v "AllowDevelopmentWithoutDevLicense" /d "1"
Обновите свое устройство с Windows 8.1 до Windows 10 или 11
При создании или загрузке неопубликованных приложений на устройстве с Windows 8.1 вам необходимо установить лицензию разработчика. Если вы обновите свое устройство с Windows 8.1 до Windows 10 или 11, эта информация останется. Выполните следующую команду, чтобы удалить эту информацию с обновленного устройства Windows.
Примечание
Этот шаг не требуется при непосредственном обновлении с Windows 8.



Сказав это, для большинства распространенных потоков распространения не требуется режим разработчика. Например, для развертывания вашего приложения через TestFlight или с помощью внутреннего распространения Enterprise режим разработчика не требуется. И, конечно же, распространение ваших приложений через App Store не требует режима разработчика. Это требуется только тогда, когда вы, разработчик, активно разрабатываете свое приложение на своем устройстве. Хорошо, к этому моменту я уверен, что вы не можете дождаться, пока я расскажу вам, как вы начнете использовать режим разработчика. Итак, давайте рассмотрим, когда вам нужно включить режим разработчика и как это сделать. Вам следует включить режим разработчика, если вам нужно запускать и устанавливать приложения, подписанные для разработки, включая приложения, подписанные с помощью личной команды; отлаживать и инструментировать ваши приложения; или вы хотите использовать автоматизацию тестирования на своем устройстве. Включить режим разработчика очень просто, но сначала вам нужно подключить свое устройство к Xcode, чтобы появился пункт меню «Режим разработчика».







