Usando TestFlight para distribuir aplicativos Xamarin.iOS

O TestFlight agora é propriedade da Apple, e é a principal maneira de fazer o teste beta de seus aplicativos Xamarin.iOS. Este artigo o orientará por todas as etapas do Processo de TestFlight – do upload do aplicativo até o trabalho com o iTunes Connect.

O teste beta é parte integrante do ciclo de desenvolvimento de software, e há muitos aplicativos de plataforma cruzada oferecendo para agilizar esse processo, como o Visual Studio App Center, o Applause e, claro, o Native App Beta Testing do Google Play para aplicativos Android. Este documento concentra-se no TestFlight da Apple.

O TestFlight é o serviço de teste beta da Apple para aplicativos iOS e é acessível apenas por meio do iTunes Connect. Está disponível para aplicativos iOS 8.0 e posteriores. TestFlight permite testes beta com usuários internos e externos e, devido a uma análise de aplicativo Beta para estes últimos, garante um processo muito mais fácil na análise final ao publicar para a App Store.

Anteriormente, o binário era gerado no Visual Studio para Mac e carregado para o site TestFlightApp para distribuição aos testadores. Com o novo processo, há vários aprimoramentos que permitem que você tenha aplicativos de alta qualidade e bem testados aplicativos na App Store. Por exemplo:

  • A análise de Aplicativo Beta necessária para testes externos garante uma chance maior de sucesso para a Análise da App Store final, uma vez que ambos exigem aderência às diretrizes da Apple.
  • Antes do upload, o aplicativo precisa ser registrado com o iTunes Connect. Isso garante que não haja incompatibilidade entre perfis, nomes e certificados de provisionamento.
  • O aplicativo TestFlight agora é um aplicativo iOS real, assim, opera com mais rapidez.
  • Depois da conclusão do teste beta, o processo de mover o aplicativo para análise é rápido e eficiente; basta um clique de botão.

Requisitos

Somente aplicativos iOS 8.0 ou superiores pode ser testado por meio de TestFlight.

Todos os testadores devem testar o aplicativo em pelo menos um dispositivo iOS 8. No entanto, a melhor prática recomenda testar seu aplicativo em todas as versões do iOS

Provisionamento

Para testar builds com o TestFlight, é necessário criar um perfil de distribuição na App Store com o novo direito beta. Esse direito permite que teste beta por meio do TestFlight e quaisquer novos perfis de distribuição da App Store automaticamente contêm esse direito. Você pode seguir as instruções passo a passo no guia Creating a Distribution Profile (Como criar um perfil de distribuição) para gerar um novo perfil.

Você pode confirmar que seu perfil de distribuição contém o direito beta ao validar seu build no Xcode, conforme ilustrado abaixo:

  1. Abra o XCode no host de compilação do Mac depois de arquivar o aplicativo
  2. Selecione o menu Organizador de Janelas >
  3. Selecione Arquivos à esquerda
  4. Selecione o Arquivo que deseja validar e clique no botão Validar

Submitting the App to Apple

Fluxo de trabalho TestFlight

O fluxo de trabalho a seguir descreve as etapas necessárias para começar a usar TestFlight para testes Beta do seu aplicativo:

  1. Para novos aplicativos, crie um registro do iTunes Connect.
  2. Arquive e Publique seu aplicativo no iTunes Connect.
  3. Gerenciar testes beta:
    • Adicione Metadados.
    • Adicionar usuários internos:
      • Máximo de 100 usuários, cada usuário pode testar em até 30 dispositivos.
    • Adicionar usuários externos:
      • Máximo de 10000 usuários.
      • Requer uma análise de teste beta, que exige a conformidade com as diretrizes da Apple.
  4. Receba Comentários de usuários, aja com base neles e retorne para a etapa 2.

Criar um registro do iTunes Connect

  1. Faça logon no Portal do iTunes Connect usando suas credenciais de desenvolvedor da Apple.

  2. Selecione Meus Aplicativos:

    Select My Apps

  3. Na tela Meus aplicativos, clique no botão + no canto superior esquerdo da tela para adicionar um novo aplicativo. Se você tiver contas de desenvolvedor Mac e iOS, escolha o tipo do novo aplicativo aqui.

Você verá a janela de envio Novo aplicativo do iOS, que deverá conter exatamente as mesmas informações que Info.plist do seu aplicativo

Para obter mais informações sobre como criar um novo registro do iTunes Connect, consulte o guia Creating an iTunes Connect Record (Como criar um registro do iTunes Connect).

Preenchendo o novo formulário de envio de aplicativo iOS

O formulário deve refletir exatamente as informações no arquivo Info.plist do seu aplicativo, conforme ilustrado abaixo:

The app's Info.plistThe form on iTunes Connect

  • Nome – o nome descritivo usado ao configurar o Pacote de Aplicativo. Deve ser uma correspondência exata da entrada de Nome do aplicativo em seu Info.plist.
  • Idioma primário – o idioma de base usado no aplicativo. Geralmente é qualquer idioma que você fale.
  • ID do pacote – um menu suspenso listando todas as IDs do Aplicativo criadas em sua conta de desenvolvedor.
    • Sufixo da ID do Pacote – se você tiver uma ID do Pacote curinga (ou seja, terminando com um *, como no exemplo acima), uma caixa adicional será exibida solicitando o sufixo da ID do Pacote. No exemplo, a ID do Pacote é mobi.chkn.*, o sufixo é PageView. Juntos, eles formam o Identificador do Pacote em nosso Info.plist.
  • Versão – número de versão do aplicativo que está sendo carregado. Ele é escolhido pelo desenvolvedor.
  • SKU – SKU é uma ID exclusiva para seu aplicativo, que não será vista pelos usuários. Pode ser considerada de maneira semelhante a uma ID do produto. No exemplo acima, escolhi a data junto com um número de versão para essa data.

Carregar seu aplicativo

Quando o registro do iTunes Connect tiver sido criado, você poderá carregar novos builds. Lembre-se de que builds devem ter o novo direito beta.

Primeiro, compile o distribuível final no IDE e, em seguida, envie seu aplicativo para a Apple por meio do Carregador de Aplicativos ou a função arquivo morto no Xcode.

Criar um arquivo morto

Para compilar um binário no Visual Studio para Mac, você precisará usar a função Arquivo Morto. Clique com o botão direito dou mouse no projeto e selecione Arquivo Morto para Publicação, conforme ilustrado abaixo:

Select Archive for Publishing

Consulte o guia Criando o distribuível para obter mais informações.

Assinar e distribuir seu aplicativo

Criar um arquivo morto abrirá automaticamente a Exibição de Arquivos Mortos, exibindo todos os projetos em arquivo morto, agrupados por solução. Para assinar seu aplicativo e prepará-lo para distribuição, selecione Assinar e Distribuir…, conforme mostrado abaixo:

Creating an archive will automatically open the Archives View

Isso abrirá o assistente de publicação. Selecione o canal de distribuição da App Store para criar um pacote e abra o Application Loader. Na tela de Perfil de Provisionamento, selecione sua identidade de assinatura e o perfil de provisionamento ou assine novamente com outra identidade. Verifique os detalhes do seu pacote e, em seguida, clique em Publicar para salvar seu .ipa

Select your signing identity and provisioning profile, or re-sign with another identity

Consulte a seção Enviando seu aplicativo para a Apple para saber mais sobre essas etapas.

Enviando seu Build

O assistente de publicação abrirá o programa Application Loader para você carregar sua compilação para o iTunes Connect. Selecione a opção Entregar seu Aplicativo e, em seguida, carregue o arquivo .ipa criado acima. O Carregador de Aplicativos validará e carregará seu build para o iTunes Connect.

Consulte a seção Enviando seu aplicativo para a Apple para saber mais sobre essas etapas.

O guia Publishing to the App Store (Como publicar na App Store) descreve todas as etapas acima em mais detalhes; consulte-o para uma análise mais detalhada do processo de envio à App Store.

Ao retornar para a seção Meus Aplicativos do iTunes Connect, você deverá ver que seu aplicativo foi carregado com êxito. Neste ponto, você agora está pronto para fazer alguns Testes Beta!

Gerenciar Testes Beta

Adicionar Metadados

Para começar a usar o TestFlight, navegue até a guia Pré-lançamento de seu aplicativo. Você verá três guias mostrando uma lista de Builds, Testadores Internos e Testadores Externos, conforme ilustrado abaixo:

Builds, Internal Testers, and External Testers tabs

Para adicionar metadados a seu aplicativo, clique no número de build e, em seguida, em TestFlight:

Add Metadata

Em Informações de Teste, você pode fornecer aos testadores informações significativas sobre seu aplicativo, por exemplo:

  • O que testar
  • Descrição do seu aplicativo.
  • URL de marketing — dará informações sobre o aplicativo que você está adicionando.
  • URL da Política de Privacidade — URL que apresenta informações sobre a política de privacidade de sua empresa.
  • Email de Comentários.

Observe que esses metadados não são necessários para testadores internos, mas são necessários para testadores externos.

Habilitar Testes Beta

Quando estiver pronto para começar a testar seu aplicativo, ative a opção Teste Beta do TestFlight para sua versão:

Turn on the TestFlight Beta Testing switch

Cada build está ativo por 60 dias a partir da data em que você ativou a Opção Beta do TestFlight. Você pode ver quantos dias restam para cada build na página Informações de Teste:

The Test Information page

O teste pode ser desativado a qualquer momento.

Testadores Internos

Testadores Internos são membros de sua equipe de desenvolvimento atribuídos a uma das funções a seguir no iTunes Connect:

  • Administrador – um administrador é responsável por adicionar e gerenciar novos usuários no iTunes Connect.
  • Legal – o Agente de Equipe é o único usuário administrativo que terá a função Legal atribuída. Isso permite que ele assine contratos legais.
  • Técnico – um usuário técnico pode alterar a maioria das propriedades em relação a um aplicativo. Por exemplo, editar informações do aplicativo, carregar um binário e enviar um aplicativo para análise.

Cada compilação pode ser compartilhada com um máximo de 100 membros, que podem testar em até 30 dispositivos.

Para adicionar testadores, navegue até Usuários e Funções na tela principal do iTunes Connect:

Users and Roles on the main iTunes Connect screen

Usuários do iTunes Connect existentes aparecerão na lista. Para selecioná-los, clique no nome, ative a opção Testador Interno e clique em Salvar:

Turn on the Internal Tester switch

Para adicionar um usuário que não esteja na lista, selecione o botão + ao lado de Usuários e forneça um Nome, Sobrenome e endereço de email para criar uma conta. O usuário precisará confirmar seu email para ativar a conta:

Adding a user

Se você retornar aos Testadores Internos de Pré-lançamento > de Meus Aplicativos>, verá os usuários que foram adicionados para o teste beta interno do TestFlight:

A list of users that have been added for TestFlight Internal beta testing

Você pode convidar esses testadores selecionando o nome deles e clicando no botão Convidar. Eles receberão um email com um convite para testar seu aplicativo.

Você pode ver o status do convite na coluna status da página Testadores Internos:

The invitation status

Testadores Externos

Antes de convidar Testadores Externos para fazer testes beta do seu aplicativo, o aplicativo precisa passar por uma Análise de Aplicativo Beta e, portanto, estar em conformidade com as Diretrizes de análise da App Store.

Para enviar seu aplicativo para análise, clique no texto Enviar para Análise de Aplicativo Beta ao lado de seu build, conforme mostra a imagem abaixo:

Submit For Beta App Review

Para seu aplicativo ser aprovado na análise, você deve inserir todos os metadados necessários na página Informações do Beta do TestFlight.

Agora você pode começar a preparar convites e adicionar até 10000 testadores externos através da guia Testadores externos, inserindo seu e-mail, nome e sobrenome, conforme ilustrado na captura de tela abaixo. O email que você inserir não precisa ser sua ID da Apple; ele é apenas o email que receberá o convite.

Invite testers

Se você tiver um grande número de testadores externos, poderá usar o link Importar Arquivo link para importar um arquivo CSV com o seguinte formato por linha:

first name, last name, email address

Você também pode adicionar testadores externos a grupos diferentes para ajudar a manter seus testadores organizados.

Depois de inserir os detalhes dos testadores externos, clique em Adicionar e confirme que os usuários deem consentimento para convidá-los:

Confirm you have the users consent to invite them

Somente após uma análise de Aplicativo Beta bem-sucedida você poderá enviar convites para testadores externos. Neste ponto, o texto em Externo na página do build mudará para Enviar Convites. Clique nessa opção para enviar convites para todos os testadores já adicionados.

Se seu aplicativo tiver sido rejeitado, você precisará corrigir os problemas mostrados na Central de Resolução e reenviar o todo binário atualizado para análise.

Como um Testador Beta

Depois que você convidar o testador, ele receberá um email semelhante ao da captura de tela abaixo:

An example invite email

Depois de clicarem no botão Abrir no TestFlight, seu aplicativo será aberto no aplicativo TestFlight ou, se ele não tiver sido baixado, será direcionado para a App Store e permitirá que seja baixado.

Quando seu aplicativo for aberto no TestFlight, ele mostrará os detalhes do que testar e solicitará que o testador instale o aplicativo no dispositivo iOS 8.0 (ou superior):

TestFlight will show details of what to test for

Os builds de teste serão indicados na tela inicial do dispositivo por um ponto laranja antes do nome do aplicativo.

Os testadores podem dar feedback por meio do aplicativo TestFlight e você receberá essas informações no endereço de e-mail fornecido nos metadados.

Teste beta concluído

Depois que o teste beta tiver sido concluído, você poderá enviar seu aplicativo para análise da App Store pela Apple. Esse processo é feito de modo muito direto no iTunes Connect clicando no botão Enviar para Análise, conforme ilustrado abaixo:

Click the Submit for Review button

Resumo

Este artigo analisou como usar Testes Beta do TestFlight da Apple por meio do iTunes Connect. Abordou como carregar um novo build para o iTunes Connect e como convidar testadores Beta internos e externos a usar nosso aplicativo.