Поделиться через


Автоматическая подготовка для приложений iOS

Автоматическая подготовка — это рекомендуемый подход для развертывания приложения iOS .NET Multi-platform (.NET MAUI) на устройстве. С помощью этого подхода Visual Studio автоматически создает и управляет подписями, идентификаторами приложений и профилями подготовки. Перед началом процесса автоматической подготовки необходимо убедиться, что в Visual Studio добавлена учетная запись разработчика Apple. Дополнительные сведения см. в разделе "Управление учетными записями Apple".

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

Внимание

Прежде чем начать, убедитесь, что вы приняли все соглашения о лицензии пользователя в учетной записи разработчика Apple и App Store Connect.

Включение автоматической подготовки

После добавления учетной записи разработчика Apple в Visual Studio необходимо включить автоматическую подготовку для проекта приложения .NET MAUI:

  1. В Обозреватель решений щелкните правой кнопкой мыши проект приложения .NET MAUI и выберите "Свойства". Затем перейдите на вкладку подписывания пакета iOS > и убедитесь, что в раскрывающемся списке "Схема" выбрана автоматическая подготовка:

    Снимок экрана: вкладка подписывания пакета для iOS в Visual Studio.

  2. В параметрах подписывания пакета щелкните гиперссылку "Настройка автоматической подготовки".

  3. В диалоговом окне "Настройка автоматической подготовки" выберите команду. Visual Studio попытается автоматически подготовить проект и будет указывать, успешно ли выполнен процесс:

    Снимок экрана: диалоговое окно автоматической подготовки при правильной настройке.

    Если автоматическая подготовка завершается ошибкой, диалоговое окно "Настройка автоматической подготовки " отобразит причину ошибки.

  4. В диалоговом окне "Настройка автоматической подготовки" нажмите кнопку "ОК", чтобы закрыть диалоговое окно.

Развернуть на устройстве

После настройки подготовки в проекте приложения .NET MAUI приложение можно развернуть на устройстве с помощью Visual Studio:

  1. В Visual Studio убедитесь, что интегрированная среда разработки связана с узлом сборки Mac. Дополнительные сведения см. в разделе "Пара с Mac для разработки iOS".

  2. Убедитесь, что устройство iOS подключено к узлу сборки Mac через USB или Wi-Fi. Дополнительные сведения о беспроводном развертывании см. в статье "Беспроводное развертывание" для приложений iOS для .NET MAUI.

  3. На панели инструментов Visual Studio используйте раскрывающийся список "Целевой объект отладки", чтобы выбрать удаленные устройства iOS, а затем устройство, подключенное к узлу сборки Mac:

    Выберите удаленное устройство в Visual Studio.

  4. На панели инструментов Visual Studio нажмите зеленую кнопку "Пуск", чтобы запустить приложение на удаленном устройстве:

    Выбор целевого объекта отладки устройства iOS в Visual Studio.

Примечание.

Альтернативный подход к развертыванию приложения iOS для .NET MAUI на устройстве — использование горячего перезапуска. Горячая перезагрузка позволяет развернуть приложение .NET MAUI на 64-разрядном локальном устройстве iOS из Visual Studio, не требуя узла сборки Mac. Дополнительные сведения см. в статье "Развертывание приложения iOS с помощью горячего перезапуска".

Запуск автоматической подготовки

Если включена автоматическая подготовка, Visual Studio повторно запустит процесс автоматической подготовки при необходимости при возникновении любого из следующих действий:

  • Устройство iOS подключается к компьютеру Mac. Это автоматически проверяет, зарегистрировано ли устройство в учетной записи разработчика Apple. Если устройство не зарегистрировано, оно добавляется, и создается содержащий его профиль подготовки.
  • Идентификатор пакета приложения изменен. Это обновляет идентификатор приложения и поэтому создается новый профиль подготовки, содержащий этот идентификатор приложения.
  • В файле Entitlements.plist включена поддерживаемая возможность. Эта возможность будет добавлена в идентификатор приложения и создается новый профиль подготовки с обновленным идентификатором приложения. В настоящее время поддерживаются не все возможности. Дополнительные сведения о возможностях см. в разделе "Возможности".

Шаблон идентификаторов приложений

По умолчанию автоматическая подготовка попытается создать и использовать подстановочный идентификатор приложения и профиль подготовки вместо явного идентификатора приложения на основе идентификатора пакета приложения. Идентификаторы приложений с подстановочными знаками снижают количество профилей и идентификаторов для обслуживания в учетной записи разработчика Apple. Дополнительные сведения об идентификаторах приложений с подстановочными знаками см. в разделе "Создание профиля подготовки разработки".

В некоторых случаях для назначений приложения требуется явный идентификатор приложения. Следующие назначения не поддерживают шаблон идентификаторов приложений:

  • Группы приложений
  • Связанные домены
  • Apple Pay
  • Игровой центр
  • HealthKit
  • HomeKit
  • Хот-спот
  • Покупки из приложений
  • Несколько путей
  • NFC
  • Личная VPN
  • Push-уведомления
  • Конфигурация беспроводных периферийных устройств

Если приложение использует одно из этих прав, Visual Studio попытается создать явный идентификатор приложения.

Устранение неполадок

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

Если процесс автоматической подготовки завершается сбоем с сообщением Authentication Service Is Unavailableоб ошибке, войдите в App Store Connect или учетную запись разработчика Apple, чтобы убедиться, что вы приняли последние соглашения об обслуживании.

Сертификат не найден в локальной цепочке ключей

Если вы используете несколько компьютеров для разработки, при попытке настроить автоматическую подготовку на компьютере может появиться следующее сообщение об ошибке: "При попытке автоматически подготовить проект: Сертификат: Разработка Apple: Создание с помощью API (идентификатор ключа)" уже существует, но не удается найти в локальной цепочке ключей. Возможно, он был создан на другом компьютере разработки. Импортируйте сертификат и закрытый ключ с этого компьютера или отмените его и повторите попытку автоматического создания нового.":

Снимок экрана: сбой автоматической подготовки, когда не удается найти сертификат.

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

Чтобы узнать, отсутствует ли необходимый сертификат на компьютере разработки, в Visual Studio перейдите к параметрам > > Xamarin > Apple Accounts. Затем в диалоговом окне "Учетные записи разработчика Apple" выберите команду и нажмите кнопку "Просмотреть сведения...

Снимок экрана: окно сведений, когда сертификат отсутствует в цепочке ключей.

Если на компьютере не установлен обязательный сертификат, в окне сведений будет отображаться состояние "Не в цепочке ключей" для сертификата. В этом сценарии конкретный сертификат необходимо экспортировать с компьютера, созданного в формате P12, а затем импортировать в Visual Studio с помощью кнопки импорта сертификата .

Примечание.

  • Чтобы скопировать сертификат из Mac в другой Mac, экспортируйте сертификат из keychain Access на компьютере Mac, который создал сертификат, а затем импортируйте его в цепочку ключей Access на другом Компьютере Mac.
  • Чтобы скопировать сертификат из Mac на компьютер Windows, экспортируйте сертификат из цепочки ключей access на Компьютере Mac, а затем на компьютере Windows импортируйте его в Visual Studio с помощью кнопки импорта сертификата .
  • Невозможно скопировать сертификат, созданный Visual Studio на компьютере с Windows, на другой компьютер, так как он защищен паролем.

После импорта сертификата Visual Studio отобразит состояние "Допустимый":

Снимок экрана: окно сведений о добавлении сертификата в цепочку ключей.

Затем можно будет автоматически подготовить проект в Visual Studio.