Provisionamento automático para aplicativos iOS

O provisionamento automático é a abordagem recomendada para implantar um aplicativo iOS do .NET MAUI (.NET Multi-platform App UI) em um dispositivo. Com essa abordagem, o Visual Studio cria e gerencia automaticamente identidades de assinatura, IDs de aplicativo e perfis de provisionamento. Antes de iniciar o processo de provisionamento automático, verifique se adicionou sua conta de desenvolvedor da Apple ao Visual Studio. Para obter mais informações, confira Gerenciamento de contas da Apple.

Depois de adicionar a conta de desenvolvedor da Apple ao Visual Studio, você poderá usar qualquer equipe associada. Certificados, IDs de aplicativo e perfis podem ser criados na equipe. A ID da equipe também é usada para criar um prefixo para uma ID do aplicativo que será incluída no perfil de provisionamento, o que permitirá que a Apple verifique se um aplicativo pode ser implantando em um dispositivo.

Importante

Antes de começar, certifique-se de ter aceitado todos os contratos de licença de usuário em sua Conta de desenvolvedor da Apple e no App Store Connect.

Habilitar o provisionamento automático

Depois de adicionar sua conta de desenvolvedor da Apple ao Visual Studio, você precisará habilitar o provisionamento automático para o projeto de aplicativo do .NET MAUI:

  1. No Gerenciador de Soluções, clique com o botão direito do mouse no projeto do aplicativo .NET MAUI e selecione Propriedades. Em seguida, navegue até a guia iOS > Assinatura do pacote e verifique se Provisionamento Automático está selecionado no menu suspenso Esquema:

    Captura de tela da guia de assinatura do pacote para iOS no Visual Studio.

  2. Nas configurações de Assinatura em Lote, clique no hiperlink Configurar Provisionamento Automático.

  3. Na caixa de diálogo Configurar Provisionamento Automático, selecione sua equipe. O Visual Studio tentará provisionar automaticamente seu projeto e indicará se o processo foi concluído:

    Captura de tela da caixa de diálogo de provisionamento automático quando configurado corretamente.

    Se o provisionamento automático falhar, a caixa de diálogo Configurar Provisionamento Automático exibirá o motivo do erro.

  4. Na caixa de diálogo Configurar Provisionamento Automático, clique no botão Ok para ignorar a caixa de diálogo.

Implantar no dispositivo

Depois de configurar o provisionamento em seu projeto de aplicativo do .NET MAUI, o aplicativo poderá ser implantado em um dispositivo com o Visual Studio:

  1. No Visual Studio, certifique-se de que o IDE esteja emparelhado com um host de build do Mac. Para obter mais informações, consulte Emparelhar com Mac para desenvolvimento para iOS.

  2. Certifique-se de que seu dispositivo iOS esteja conectado ao host de build do Mac via USB ou WiFi. Para mais informações sobre implantação sem fio, confira Implantação sem fio de aplicativos iOS do .NET MAUI.

  3. Na barra de ferramentas do Visual Studio, use a lista suspensa Destino de Depuração para selecionar Dispositivos Remotos iOS e, em seguida, o dispositivo que está conectado ao host de build do Mac:

    Selecione o seu dispositivo remoto no Visual Studio.

  4. Na barra de ferramentas do Visual Studio, pressione o botão verde Iniciar para iniciar o aplicativo no seu dispositivo remoto:

    Opção de destino de depuração do dispositivo iOS do Visual Studio.

Observação

Uma abordagem alternativa para implantar um aplicativo iOS do .NET MAUI em um dispositivo é usar a reinicialização dinâmica. A reinicialização dinâmica permite que você implante um aplicativo do .NET MAUI em um dispositivo iOS local de 64 bits a partir do Visual Studio, sem necessidade de um host de build do Mac. Para mais informações, confira Implantar um aplicativo iOS usando a reinicialização dinâmica.

Executar provisionamento automático

Quando o provisionamento automático estiver habilitado, o Visual Studio executará novamente o processo de provisionamento automático, se necessário, quando:

  • Um dispositivo iOS estiver conectado ao seu Mac. Verifica automaticamente se o dispositivo está registrado na sua Conta de desenvolvedor da Apple. Se não estiver, ele será adicionado, e um novo perfil de provisionamento que o contenha será gerado.
  • A ID do pacote do aplicativo tiver sido alterada. Isso atualiza a ID do aplicativo para criar um novo perfil de provisionamento que contenha esta ID do aplicativo.
  • Um recurso compatível estiver habilitado no arquivo Entitlements.plist. Esse recurso será adicionado à ID do aplicativo, e um novo perfil de provisionamento com a ID do aplicativo atualizada será gerado. Nem todas as funcionalidades são compatíveis no momento. Para obter mais informações sobre recursos, confira Recursos.

IDs de Aplicativo Curinga

Por padrão, o provisionamento automático tentará criar e usar a ID do aplicativo curinga e um perfil de provisionamento, em vez de uma ID do aplicativo explícita com base no identificador de pacote do aplicativo. IDs de Aplicativo curinga reduzem o número de perfis e de IDs a serem mantidos na sua Conta de Dsenvolvedor da Apple. Para mais informações sobre IDs de aplicativo curinga, consulte Criar um perfil de provisionamento de desenvolvimento.

Em alguns casos, os direitos do aplicativo exigem uma ID do Aplicativo explícita. Os seguintes direitos não dão suporte a IDs de Aplicativo curinga:

  • Grupos de Aplicativos
  • Domínios associados
  • Apple Pay
  • Game Center
  • HealthKit
  • HomeKit
  • Ponto de acesso
  • Compra no aplicativo
  • Múltiplos caminhos
  • NFC
  • VPN pessoal
  • Notificações por Push
  • Configuração de Acessório sem Fio

Se o aplicativo usar um desses direitos, o Visual Studio tentará criar uma ID do aplicativo explícita.

Solucionar problemas

Pode levar várias horas para que uma nova conta de desenvolvedor da Apple seja aprovada. Você não poderá habilitar o provisionamento automático até que a conta seja aprovada.

Se o processo de provisionamento automático falhar com a mensagem de erro Authentication Service Is Unavailable, entre no App Store Connect ou na sua Conta de Desenvolvedor da Apple para verificar se você aceitou os contratos de serviço mais recentes.

O certificado não pode ser encontrado no conjunto de chaves local

Se você usar vários computadores para desenvolvimento, poderá receber a seguinte mensagem de erro ao tentar configurar o provisionamento automático em um computador: "Ocorreu um erro ao tentar provisionar automaticamente o projeto: 'Certificado: Desenvolvimento da Apple: Criar via API (ID de Chave)' já existe, mas não pode ser encontrado no Conjunto de chaves local. Ele pode ter sido criado em outro computador de desenvolvimento. Importe o certificado e a chave privada desse computador ou revogue-o e tente de novo criar um novo automaticamente.'":

Captura de tela da falha de provisionamento automático quando o certificado não pode ser encontrado.

Isso pode ocorrer porque o provisionamento automático não elimina a necessidade de copiar manualmente os certificados entre computadores quando você está usando vários computadores para desenvolvimento. Isso ocorre porque a chave privada que cria um certificado só existe no computador que criou o certificado.

Para descobrir se um certificado necessário está ausente no computador de desenvolvimento, no Visual Studio, acesse Ferramentas > Opções > Xamarin > Contas Apple. Depois, na caixa de diálogo Contas de Desenvolvedor da Apple, selecione uma equipe e clique no botão Exibir Detalhes...:

Captura de tela da janela Detalhes quando o certificado não está no conjunto de chaves.

Se o certificado necessário não estiver instalado no computador, a janela Detalhes mostrará um status "Não está nao Conjunto de chaves" para o certificado. Nesse cenário, o certificado específico deve ser exportado do computador que o criou, no formato .p12 e, em seguida, importado para o Visual Studio com o botão Importar certificado.

Observação

  • Para copiar um certificado de um Mac para outro, exporte o certificado do Acesso ao conjunto de chaves no Mac que criou o certificado e importe-o para o Acesso ao conjunto de chaves no outro Mac.
  • Nesse cenário, o certificado específico deve ser exportado do computador que o criou, no formato .p12 e, em seguida, importado para o Visual Studio com o botão Importar certificado.
  • Não é possível copiar um certificado criado pelo Visual Studio em um computador Windows para outro computador, pois ele é protegido por senha.

Depois que o certificado for importado, o Visual Studio mostrará seu status como "Válido":

Captura de tela da janela Detalhes quando o certificado foi adicionado ao conjunto de chaves.

Em seguida, o Visual Studio conseguirá provisionar automaticamente o seu projeto.