Publicar um aplicativo iOS para distribuição da App Store

A abordagem mais comum para distribuir aplicativos iOS aos usuários é por meio da App Store. Os aplicativos são enviados para a App Store por meio de uma ferramenta online chamada App Store Connect. Somente os desenvolvedores que pertencem ao Apple Developer Program têm acesso a essa ferramenta. Membros do Programa de Desenvolvedores Corporativos da Apple não tem acesso. Todos os aplicativos enviados à App Store exigem aprovação da Apple.

A distribuição de um aplicativo iOS requer que o aplicativo seja provisionado usando um perfil de provisão. 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 da interface do usuário de aplicativo multiplataforma do .NET (.NET MAUI), você precisará criar um perfil de provisão de distribuição específico para ele. Este perfil permite que o aplicativo seja assinado digitalmente para lançamento para que ele possa ser instalado em um dispositivo iOS. Um perfil de provisão de distribuição contém uma ID do Aplicativo e um certificado de distribuição. Você pode usar a mesma ID do Aplicativo usada 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 provisão de distribuição da App Store é o seguinte:

  1. Crie um certificado de distribuição. Para obter mais informações, confira Criar um certificado de distribuição.
  2. Crie uma ID do Aplicativo. Para obter mais informações, confira Criar uma ID do aplicativo.
  3. Crie um perfil de provisão. Para obter mais informações, confira Criar um perfil de provisão.

Importante

A Apple tem uma política de privacidade para aplicativos direcionados ao iOS na App Store. Ela exige que o aplicativo inclua um arquivo de manifesto de privacidade no pacote do aplicativo, que lista os tipos de dados que seu aplicativo .NET MAUI ou quaisquer SDKs e pacotes de terceiros coletam e os motivos para usar as APIs de motivo necessárias. Se o uso das APIs de motivo necessário ou SDKs de terceiros não for declarado no manifesto de privacidade, seu aplicativo poderá ser rejeitado pela App Store. Para obter mais informações, confira Manifesto de privacidade da Apple.

Criar um certificado de distribuição

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

Você só precisará criar um certificado de distribuição se ainda não tiver um. O certificado de distribuição deve ser criado usando a ID da Apple para sua Conta de desenvolvedor da Apple.

Para criar um certificado de distribuição:

  1. No Visual Studio, acesse Ferramentas > Opções > Xamarin > Contas da Apple.
  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 será 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 Keychain Access no host de build do Mac, desde que o IDE esteja emparelhado com ele. Para obter mais informações, consulte Emparelhar com Mac para desenvolvimento para iOS.

Entendendo pares de chaves de certificado

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

Aviso

Perder o certificado e as chaves associadas pode ser incrivelmente disruptivo, 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 provisão de distribuição permite que seu aplicativo .NET MAUI do iOS seja assinado digitalmente para lançamento, para que ele possa ser instalado em um dispositivo iOS. Um perfil de provisão de distribuição contém uma ID do Aplicativo e um certificado de distribuição.

Criar uma ID do Aplicativo

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

Há dois tipos de ID do Aplicativo:

  • Curinga. Uma ID do Aplicativo curinga permite que você use uma única ID do Aplicativo para corresponder a vários aplicativos, e normalmente usa o formato com.domainname.*. Uma ID do 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 do Aplicativo explícita é exclusiva de um único aplicativo e normalmente usa o formato com.domainname.myid. Uma ID do Aplicativo explícita permite a distribuição de um aplicativo, com um identificador de pacote correspondente. IDs do Aplicativo explícitas normalmente são usadas para aplicativos que habilitam recursos específicos do aplicativo, como Apple Pay ou Game Center. Para obter mais informações sobre recursos, confira Recursos.

Para criar uma nova ID do Aplicativo:

  1. Em sua Conta de desenvolvedor da 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 do Aplicativo antes de clicar no botão Continuar:

    Crie uma ID do Aplicativo.

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

    Registrar um ID de aplicativo.

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

    Especifique o identificador de pacote para o aplicativo.

    Importante

    A ID do Pacote inserida deve corresponder ao Identificador de 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 Geral > Compartilhado MAUI. O campo ID do Aplicativo lista o identificador do pacote.
    • No Visual Studio para Mac, na Janela da Solução, clique com o botão direito do mouse no projeto do aplicativo .NET MAUI e selecione Propriedades. Em seguida, na janela Propriedades do projeto, selecione a guia Compilar > 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 do pacote no arquivo Info.plist será atualizado automaticamente.

  7. Na página Registrar uma ID do Aplicativo, selecione todos os recursos usados pelo aplicativo. Todos os recursos devem ser configurados nesta página e no arquivo Entitlements.plist em seu projeto de aplicativo. Para obter mais informações, confira Recursos e Direitos.

  8. Na página Registrar uma ID do 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 provisão de distribuição. Este perfil permite que o aplicativo seja assinado digitalmente para lançamento para que ele possa ser instalado em um dispositivo iOS.

Para criar um perfil de provisão para distribuição da App Store:

  1. Na página Certificados, Identificadores e Perfis da sua Conta de Desenvolvedor da Apple, selecione a guia Perfis.

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

  3. Na página Registrar um novo perfil de provisão, selecione o botão de opção da App Store antes de clicar no botão Continuar:

    Registre um perfil de provisão para distribuição da loja de aplicativos.

  4. Na página Gerar um perfil de provisão, na lista suspensa ID do Aplicativo, selecione a ID do Aplicativo que você criou anteriormente antes de clicar no botão Continuar:

    Selecione a ID do Aplicativo.

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

    Selecione o seu certificado de distribuição.

  6. Na página Gerar um perfil de provisão, insira um nome para o perfil de provisão antes de clicar no botão Gerar:

    Gere o perfil de provisão.

    Observação

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

  7. Na página Gerar um perfil de provisão, opcionalmente, clique no botão Baixar para baixar o seu perfil de provisão.

    Observação

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

Baixar perfis de provisionamento no Visual Studio

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

  1. No Visual Studio, acesse Ferramentas > Opções > Xamarin > Contas da Apple.
  2. Na caixa de diálogo Contas de desenvolvedor da Apple, selecione a sua equipe e clique em Exibir detalhes.
  3. Na caixa de diálogo Detalhes, verifique se o novo perfil aparece na lista Perfis de provisão. 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 build do Mac se o IDE estiver emparelhado com ele. Para obter mais informações, consulte Emparelhar com Mac para desenvolvimento para iOS.

Publicar o aplicativo

O Visual Studio pode publicar um aplicativo .NET MAUI do iOS para distribuição da App Store e carregá-lo na App Store. No entanto, antes de carregar um aplicativo na App Store, você deve:

  • Criar um registro para o aplicativo que você deseja carregar na App Store no App Store Connect. Esse registro inclui todas as informações sobre o aplicativo, pois ele será exibido na App Store, e todas as informações necessárias para gerenciar o aplicativo por meio do processo de distribuição. Para obter mais informações, confira Criar um registro de aplicativo em developer.apple.com.
  • Criar uma senha específica do aplicativo. Para obter informações sobre como gerar uma senha específica do aplicativo, confira Entrar em aplicativos com sua ID Apple usando senhas específicas do aplicativo em support.apple.com.

Para obter informações sobre como publicar um aplicativo iOS usando a interface de linha de comando (CLI), confira Publicar um aplicativo iOS usando a linha de comando.

  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. Na barra de ferramentas do Visual Studio, use a lista suspensa Destino de depuração para selecionar Dispositivos remotos iOS e, em seguida, Dispositivo remoto:

    Selecione o seu dispositivo remoto no Visual Studio.

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

    Selecione a configuração de versão no Visual Studio.

  4. 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 Assinatura de pacote do iOS e certifique-se de que Esquema esteja definido como Provisionamento Manual, a Identidade de assinatura esteja definida como Distribuição (Automática) e o Perfil de provisão esteja definido como Automático:

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

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

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

    Selecione o item de menu publicar no Visual Studio.

    O Gerenciador de arquivos será aberto e o Visual Studio começará a arquivar o pacote do aplicativo:

    Captura de tela do gerenciador de arquivos no Visual Studio.

    O processo de arquivamento assina o aplicativo com os perfis de certificado e 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, certifique-se de que o arquivo esteja selecionado e selecione o botão Distribuir... para iniciar o processo de empacotamento do aplicativo para distribuição:

    Captura de tela do gerenciador de arquivos no Visual Studio após a conclusão do arquivamento.

    A caixa de diálogo Distribuir – selecionar canal será exibida.

  1. Na caixa de diálogo Distribuir – selecionar canal, selecione o botão App Store:

    Captura de tela da seleção de um canal de distribuição na caixa de diálogo de distribuição.

  2. Na caixa de diálogo Distribuição – identidade de assinatura, selecione sua identidade de assinatura e perfil de provisão:

    Captura de tela da seleção de uma identidade de assinatura na caixa de diálogo de distribuição.

    Observação

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

  3. Na caixa de diálogo Distribuir – assinar identidade, selecione o botão Salvar como ou o botão Carregar na Store. O botão Salvar como permitirá que você insira um nome de arquivo antes de assinar novamente o seu aplicativo e publicá-lo em um arquivo .ipa em seu sistema de arquivos para upload posterior na App Store por meio de um aplicativo como o Transporter. O botão Carregar na Store assinará novamente o seu aplicativo e o publicará em um arquivo .ipa antes de carregá-lo na App Store.

    1. Se você selecionar o botão Carregar na Store, a caixa de diálogo Credenciais de carregamento na Store será exibida depois que o Visual Studio criar o arquivo .ipa. Na caixa de diálogo Credenciais de carregamento na Store, insira a ID Apple e a senha específica do aplicativo e selecione o botão OK:

      Captura de tela da inserção da senha específica do aplicativo para carregar o aplicativo na App Store.

    O Visual Studio validará o pacote do aplicativo e o carregará na App Store, desde que você tenha criado um registro de aplicativo no App Store Connect.

Solucionar problemas

O Transporter pode ser usado para ajudar a identificar erros de pacotes de aplicativos que interrompem o envio bem-sucedido à App Store.