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

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

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

Важно!

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

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

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

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

    Screenshot of bundle signing tab for iOS in Visual Studio.

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

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

    Screenshot of the automatic provisioning dialog when it's correctly configured.

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

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

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

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

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

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

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

    Select your remote device in Visual Studio.

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

    Visual Studio iOS device debug target choice.

Примечание.

Альтернативный подход к развертыванию приложения 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 Подключение или учетную запись разработчика Apple, чтобы проверка, которые вы приняли последние соглашения об обслуживании.

Сертификат не удается найти в локальном связка ключей

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

Screenshot of automatic provisioning failure when the certificate can't be found.

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

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

Screenshot of Details window when the certificate isn't in the keychain.

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

Примечание.

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

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

Screenshot of Details window when the certificate has been added to the keychain.

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