Publicar um aplicativo iOS para distribuição ad-hoc

A distribuição ad-hoc é usada principalmente para testar aplicativos em um amplo grupo de pessoas e está disponível para o Apple Developer Program e o Apple Developer Enterprise Program. Outro caso de uso para distribuição ad-hoc é a distribuição dentro de uma empresa quando o App Store Connect não é uma opção.

A distribuição ad-hoc tem a vantagem de não exigir aprovação da App Store, com aplicativos sendo instalados com o Apple Configurator. No entanto, ele é limitado a 100 dispositivos por ano de assinatura, tanto para desenvolvimento quanto para distribuição, e os dispositivos devem ser adicionados à sua conta de desenvolvedor da Apple.

A distribuição de um aplicativo iOS requer que o aplicativo seja provisionado usando um perfil de provisionamento. Os perfis de provisionamento são arquivos que contêm informações de assinatura de código, bem como a identidade do aplicativo e seu mecanismo de distribuição pretendido.

Para distribuir um aplicativo iOS .NET Multi-platform App UI (.NET MAUI), você precisará criar um perfil de provisionamento de distribuição específico para ele. Esse perfil permite que o aplicativo seja assinado digitalmente para liberação para que possa ser instalado em um dispositivo iOS. Um perfil de provisionamento de distribuição ad-hoc contém uma ID do aplicativo, um certificado de distribuição e uma lista dos dispositivos que podem instalar o aplicativo. Você pode usar a mesma ID do aplicativo que usou ao implantar seu aplicativo em um dispositivo para teste. No entanto, você precisará criar um certificado de distribuição para identificar a si mesmo ou sua organização, se ainda não tiver um.

O processo para criar um perfil de provisionamento de distribuição ad-hoc é o seguinte:

  1. Crie um certificado de distribuição. Para obter mais informações, consulte Criar um certificado de distribuição.
  2. Adicione dispositivos à sua conta de programador Apple. Para obter mais informações, consulte Adicionar um dispositivo.
  3. Crie uma ID de aplicativo. Para obter mais informações, consulte Criar uma ID de aplicativo.
  4. Crie um perfil de provisionamento. Para obter mais informações, consulte Criar um perfil de provisionamento.

Criar um certificado de distribuição

Um certificado de distribuição é usado para confirmar sua identidade. Antes de criar um certificado de distribuição, você deve garantir que adicionou sua conta de desenvolvedor Apple ao Visual Studio. Para obter mais informações, consulte Gerenciamento de contas da Apple.

Você só precisa criar um certificado de distribuição se ainda não tiver um. O certificado de distribuição deve ser criado usando o ID Apple da sua conta de desenvolvedor Apple.

Para criar um certificado de distribuição:

  1. No Visual Studio, vá para Opções de ferramentas > Contas Apple do Xamarin >>.
  2. Na caixa de diálogo Contas de desenvolvedor da Apple, selecione uma equipe e clique no botão Exibir detalhes...
  3. Na caixa de diálogo Detalhes, clique em Criar Certificado e selecione Distribuição do iOS. Uma nova identidade de assinatura será criada e sincronizada com a Apple, desde que você tenha as permissões corretas.

Importante

A chave privada e o certificado que compõem sua identidade de assinatura também serão exportados para o Acesso às Chaves no host de compilação do Mac, desde que o IDE esteja emparelhado a ele. Para obter mais informações, consulte Emparelhar com Mac para desenvolvimento iOS.

Entendendo pares de chaves de certificado

Um perfil de distribuição contém certificados, suas chaves associadas e quaisquer perfis de provisionamento associados à sua Conta de desenvolvedor Apple. Existem duas versões de um perfil de distribuição — uma existe na sua conta de desenvolvedor da Apple e a outra vive em uma máquina local. A diferença entre os dois é o tipo de chaves que eles contêm: o perfil na sua Conta de desenvolvedor Apple contém todas as chaves públicas associadas aos seus certificados, enquanto a cópia na máquina local contém todas as chaves privadas. Para que os certificados sejam válidos, os pares de chaves devem corresponder.

Aviso

A perda do certificado e das chaves associadas pode causar interrupções, pois exigirá a revogação de certificados existentes e a recriação de perfis de provisionamento.

Criar um perfil de distribuição

Um perfil de provisionamento de distribuição ad-hoc permite que seu aplicativo iOS .NET MAUI seja assinado digitalmente para lançamento, para que possa ser instalado em dispositivos iOS específicos. Um perfil de provisionamento de distribuição ad-hoc contém uma ID do aplicativo, um certificado de distribuição e uma lista dos dispositivos que podem instalar o aplicativo. Os dispositivos que você deseja oferecer suporte devem estar executando uma versão do iOS compatível com o Xcode.

Adicionar um dispositivo

Quando você cria um perfil de provisionamento, o perfil deve incluir quais dispositivos podem executar o aplicativo. Antes de selecionar um dispositivo a ser adicionado a um perfil de provisionamento, você deve primeiro adicionar o dispositivo à sua Conta de desenvolvedor Apple. Você pode adicionar o dispositivo com as seguintes etapas:

  1. Conecte o dispositivo a ser provisionado ao Mac local com um cabo USB.

  2. Abra o Xcode e navegue até Dispositivos e simuladores de janela>.

  3. No Xcode, selecione a guia Dispositivos e selecione o dispositivo na lista de dispositivos conectados.

  4. No Xcode, copie o valor Identificador para a área de transferência:

    Xcode devices and simulator window with the iOS identifier string location highlighted.

  5. Em um navegador da Web, vá para a seção Dispositivos da sua Conta de desenvolvedor Apple e clique no + botão.

  6. Na página Registrar um Novo Dispositivo, defina a Plataforma correta e forneça um nome para o novo dispositivo. Em seguida, cole o identificador da área de transferência no campo ID do dispositivo (UDID) e clique em Continuar:

    Register a device by naming it and entering its unique device identifier.

  7. Na página Registrar um Novo Dispositivo, revise as informações e clique em Registrar.

Repita as etapas anteriores para qualquer dispositivo iOS no qual você deseja implantar um aplicativo iOS .NET MAUI.

Criar uma ID do Aplicativo

Uma ID de aplicativo é necessária para identificar o aplicativo que você está distribuindo. Uma ID de Aplicativo é semelhante a uma cadeia de caracteres DNS reverso, que identifica exclusivamente um aplicativo e deve ser idêntica ao identificador de pacote do seu aplicativo. Você pode usar a mesma ID do aplicativo que usou ao implantar seu aplicativo em um dispositivo para teste.

Existem dois tipos de ID de aplicativo:

  • Curinga. Uma ID de Aplicativo curinga permite que você use uma única ID de Aplicativo para corresponder a vários aplicativos e, normalmente, assume a forma com.domainname.*. Uma ID de Aplicativo curinga pode ser usada para distribuir vários aplicativos e deve ser usada para aplicativos que não habilitam recursos específicos do aplicativo.
  • Explícita. Uma ID de Aplicativo explícita é exclusiva de um único aplicativo e normalmente assume a forma com.domainname.myid. Uma ID de aplicativo explícita permite a distribuição de um aplicativo, com um identificador de pacote correspondente. Normalmente, os IDs de aplicativo explícitos são usados para aplicativos que habilitam recursos específicos do aplicativo, como o Apple Pay ou o Game Center. Para obter mais informações sobre recursos, consulte Recursos.

Para criar uma nova ID de Aplicativo:

  1. Na sua Conta de Programador Apple, navegue até Certificados, IDs e Perfis.

  2. Na página Certificados, Identificadores e Perfis, selecione a guia Identificadores.

  3. Na página Identificadores, clique no + botão para criar uma nova ID do Aplicativo.

  4. Na página Registrar um novo identificador, selecione o botão de opção IDs de aplicativo antes de clicar no botão Continuar:

    Create an App ID.

  5. Na página Registrar um novo identificador, selecione Aplicativo antes de clicar no botão Continuar:

    Register an App ID.

  6. Na página Registrar uma ID de Aplicativo, insira uma descrição e selecione o botão de opção ID de Pacote Explícito ou Curinga. Em seguida, insira a ID do pacote para seu aplicativo no formato DS reverso:

    Specify the bundle identifier for the app.

    Importante

    A ID do Pacote inserida deve corresponder ao identificador do Pacote no arquivo Info.plist em seu projeto de aplicativo.

    O identificador de pacote para um aplicativo .NET MAUI é armazenado no arquivo de projeto como a propriedade ID do aplicativo:

    • No Visual Studio, no Gerenciador de Soluções, clique com o botão direito do mouse em seu projeto de aplicativo .NET MAUI e selecione Propriedades. Em seguida, navegue até a guia MAUI Shared > General . O campo ID do aplicativo lista o identificador do pacote.
    • No Visual Studio para Mac, na janela Solução, clique com o botão direito do mouse em seu projeto de aplicativo .NET MAUI e selecione Propriedades. Em seguida, na janela Propriedades do projeto, selecione a guia Criar > informações do aplicativo. O campo ID do aplicativo lista o identificador do pacote.

    Quando o valor do campo ID do aplicativo for atualizado, o valor do identificador de pacote no Info.plist será atualizado automaticamente.

  7. Na página Registrar uma ID do Aplicativo, selecione os recursos que o aplicativo usa. Todos os recursos devem ser configurados nesta página e no arquivo Entitlements.plist em seu projeto de aplicativo. Para obter mais informações, consulte Recursos e direitos.

  8. Na página Registrar uma ID de Aplicativo , clique no botão Continuar .

  9. Na página Confirmar sua ID do Aplicativo, clique no botão Registrar.

Criar um perfil de provisão

Depois que a ID do aplicativo tiver sido criada, você deverá criar um perfil de provisionamento de distribuição. Esse perfil permite que o aplicativo seja assinado digitalmente para liberação para que possa ser instalado em um dispositivo iOS.

Para criar um perfil de provisionamento para distribuição ad-hoc:

  1. Na página Certificados, Identificadores e Perfis da sua Conta de Programador Apple, selecione o separador Perfis .

  2. Na guia Perfis, clique no + botão para criar um novo perfil.

  3. Na página Registrar um Novo Perfil de Provisionamento, selecione o botão de opção Ad Hoc antes de clicar no botão Continuar:

    Register a provisioning profile for ad hoc distribution.

  4. Na página Gerar um Perfil de Provisionamento, na lista suspensa ID do Aplicativo, selecione a ID do Aplicativo que você criou anteriormente e escolha se deseja criar um perfil offline, antes de clicar no botão Continuar:

    Select your App ID.

  5. Na página Gerar um Perfil de Provisionamento, selecione o botão de opção que corresponde ao seu certificado de distribuição antes de clicar no botão Continuar:

    Select your distribution certificate.

  6. Na página Gerar um Perfil de Provisionamento, selecione os dispositivos nos quais o aplicativo será instalado e clique no botão Continuar.

    Screenshot of adding a device to a provisioning profile.

  7. Na página Gerar um Perfil de Provisionamento, insira um nome para o perfil de provisionamento antes de clicar no botão Gerar:

    Generate the provisioning profile.

    Observação

    Anote o nome do perfil de provisionamento, pois ele será necessário ao assinar seu aplicativo.

  8. Na página Gerar um Perfil de Provisionamento, clique opcionalmente no botão Download para baixar seu perfil de provisionamento.

    Observação

    Não é necessário baixar seu perfil de provisionamento agora. Em vez disso, você fará isso no Visual Studio.

Baixar perfis de provisionamento no Visual Studio

Depois de criar um perfil de provisionamento de distribuição em sua conta de desenvolvedor Apple, o Visual Studio pode baixá-lo para que ele esteja disponível para assinar seu aplicativo.

  1. No Visual Studio, vá para Opções de ferramentas > Contas Apple do Xamarin >>.
  2. Na caixa de diálogo Contas de desenvolvedor da Apple, selecione sua equipe e clique em Exibir detalhes.
  3. Na caixa de diálogo Detalhes, verifique se o novo perfil aparece na lista Perfis de Provisionamento. Talvez seja necessário reiniciar o Visual Studio para atualizar a lista.
  4. Na caixa de diálogo Detalhes, clique em Baixar Todos os Perfis.

Os perfis de provisionamento são baixados no Windows e exportados para o host de compilação do Mac se o IDE estiver emparelhado a ele. Para obter mais informações, consulte Emparelhar com Mac para desenvolvimento iOS.

Publicar o aplicativo

O Visual Studio pode publicar um aplicativo iOS .NET MAUI para distribuição ad-hoc. Para obter informações sobre como publicar um aplicativo iOS usando a CLI (Interface de Linha de Comando), consulte Publicar um aplicativo iOS usando a linha de comando.

  1. No Visual Studio, verifique se o IDE está emparelhado a um host Mac Build. Para obter mais informações, consulte Emparelhar com Mac para desenvolvimento iOS.

  2. Na barra de ferramentas do Visual Studio, use o menu suspenso Destino de depuração para selecionar Dispositivos remotos do iOS e, em seguida, Dispositivo remoto:

    Select your remote device in Visual Studio.

  3. Na barra de ferramentas do Visual Studio, use o menu suspenso Configuração de Soluções para alterar da configuração de depuração para a configuração de versão:

    Select the release configuration in Visual Studio.

  4. No Gerenciador de Soluções, clique com o botão direito do mouse em seu projeto de aplicativo .NET MAUI e selecione Propriedades. Em seguida, navegue até a guia Assinatura de pacote do iOS e verifique se Esquema está definido como Provisionamento manual, Identidade de assinatura está definida como Distribuição (automática) e Perfil de provisionamento está definido como Automático:

    Screenshot of bundle signing tab for iOS in Visual Studio.

    Essas configurações garantirão que o Visual Studio selecionará o perfil de provisionamento correto com base no identificador de pacote no Info.plist (que é idêntico ao valor da propriedade ID do Aplicativo no arquivo de projeto). Como alternativa, defina a identidade de assinatura para o certificado de distribuição apropriado e o perfil de provisionamento para o perfil que você criou em sua conta de desenvolvedor Apple.

  5. No Gerenciador de Soluções, clique com o botão direito do mouse em seu projeto de aplicativo .NET MAUI e selecione Publicar...:

    Select the publish menu item in Visual Studio.

    O Gerenciador de Arquivo Morto será aberto e o Visual Studio começará a arquivar seu pacote de aplicativos:

    Screenshot of the archive manager in Visual Studio.

    O processo de arquivamento assina o aplicativo com o certificado e os perfis de provisionamento especificados na guia Assinatura de Pacote do iOS, para a configuração da solução selecionada.

  6. No Gerenciador de Arquivos, depois que o arquivamento for concluído com êxito, verifique se o arquivamento está selecionado e selecione o botão Distribuir... para iniciar o processo de empacotamento do aplicativo para distribuição:

    Screenshot of the archive manager in Visual Studio once archiving is complete.

    A caixa de diálogo Distribuir - Selecionar Canal será exibida.

  1. Na caixa de diálogo Distribuir - Selecionar Canal , selecione o botão Ad Hoc :

    Screenshot of selecting a distribution channel in the distribution dialog.

  2. Na caixa de diálogo Distribuir - Identidade de Assinatura, selecione sua identidade de assinatura e perfil de provisionamento:

    Screenshot of selecting a signing identity in the distribution dialog.

    Observação

    Você deve usar a identidade de assinatura e o perfil de provisionamento que foram criados para seu aplicativo e o canal de distribuição selecionado.

  3. Na caixa de diálogo Distribuir - Assinar Identidade , selecione o botão Salvar como e insira um nome de arquivo. Seu aplicativo será assinado novamente e publicado em um arquivo .ipa no sistema de arquivos.

O aplicativo pode então ser distribuído usando o Apple Configurator. Para obter mais informações, consulte o Guia do usuário do Apple Configurator sobre support.apple.com.