Xamarin Hot Restart

O Xamarin Hot Restart permite que você teste rapidamente as alterações em seu aplicativo durante o desenvolvimento, incluindo edições, recursos e referências de código de vários arquivos. Ele envia por push as novas alterações para o pacote de aplicativo existente no alvo da depuração, o que resulta em um ciclo de build e implantação muito mais rápido.

Importante

A Reinicialização Dinâmica do Xamarin está disponível atualmente no Visual Studio 2019 versão 16.5 estável e dá suporte a aplicativos iOS usando Xamarin.Forms. O suporte para aplicativos Visual Studio para Mac e nãoXamarin.Forms está no roteiro.

Requisitos

  • Visual Studio 2019 versão 16.5 ou superior
  • iTunes (Microsoft Store ou versões de 64 bits)
  • Conta de desenvolvedor da Apple e registro pago do Programa de Desenvolvedores da Apple

Instalação inicial

Observação

A Reinicialização Dinâmica do Xamarin está desabilitada por padrão no Visual Studio 16.8 e nas versões anteriores. Você pode habilitá-lo em Ferramentas > Opções > Recursos > de Visualização do Ambiente > Habilitar Reinicialização Dinâmica do Xamarin. A partir do Visual Studio 16.9, a Reinicialização Dinâmica do Xamarin está ativada por padrão e pode ser desativada nas Opções > de Ferramentas > Configurações > do Xamarin > iOS Habilitar Reinicialização Dinâmica.

  1. Verifique se o projeto do iOS está definido como o projeto de inicialização e se a configuração de build está definida como Depurar|iPhone.

    1. Se esse for um projeto existente, acesse Compilar > Configuration Manager... e verifique se Implantar está habilitado para o projeto do iOS.
  2. Selecione e clique em Dispositivo Local na barra de ferramentas para iniciar o assistente de instalação:

    Captura de tela da barra de ferramentas do Visual Studio com dispositivo local definido como o alvo da depuração.

  3. Se o iTunes não estiver instalado, clique em Baixar iTunes para baixar o instalador. Clique em Avançar quando a instalação do iTunes for concluída.

  4. Conecte um dispositivo iOS a seu computador. Se um dispositivo já estava conectado, desconecte-o e reconecte-o. O nome do dispositivo aparecerá no assistente assim que for detectado. Clique em Próximo.

  5. Insira suas credenciais de conta de Desenvolvedor da Apple e clique em Avançar.

  6. Selecione uma equipe de desenvolvimento usando o menu suspenso para habilitar o provisionamento automático no projeto. Clique em Concluir.

Observação

É recomendado usar o provisionamento automático para que dispositivos iOS adicionais possam ser facilmente configurados para implantação. No entanto, você poderá desabilitá-lo e continuar usando o provisionamento manual se os perfis de provisionamento corretos estiverem presentes.

Usar o Xamarin Hot Restart

Após a configuração inicial, seu dispositivo conectado aparecerá no menu suspenso do alvo de depuração. Para depurar seu aplicativo, selecione o dispositivo na lista suspensa e clique no botão Executar. Talvez seja necessário ver uma mensagem no Visual Studio solicitando que você inicie manualmente o aplicativo no dispositivo para iniciar a sessão de depuração.

Você pode fazer edições a seus arquivos de código durante a depuração e pressionar o botão Reiniciar na barra de ferramentas de depuração ou usar Ctrl + Shift + F5 para reiniciar a sessão de depuração com as novas alterações aplicadas:

Captura de tela da barra de ferramentas de depuração com o botão Reiniciar realçado.

Você também pode usar o símbolo de HOTRESTART pré-processador para impedir que determinado código seja executado durante a depuração com a Reinicialização Dinâmica do Xamarin.

Limitações

  • Atualmente, há suporte apenas para aplicativos iOS criados com Xamarin.Forms dispositivos iOS e .
  • Há suporte apenas para dispositivos iOS de 64 bits. A partir do iOS 11, a Apple não permite mais executar aplicativos iOS na arquitetura de 32 bits (dispositivos anteriores ao iPhone 5s).
  • Não há suporte para arquivos Storyboard e XIB, e o aplicativo poderá falhar se tentar carregá-los no runtime. Use o símbolo de HOTRESTART pré-processador para impedir que esse código seja executado.
  • Não há suporte para bibliotecas e estruturas estáticas do iOS e você poderá ver erros de runtime ou falhas se o aplicativo tentar carregá-las. Use o símbolo de HOTRESTART pré-processador para impedir que esse código seja executado. Há suporte para bibliotecas dinâmicas do iOS.
  • Não é possível usar o Xamarin Hot Restart para criar pacotes de aplicativos para publicação. Você ainda precisará de um computador Mac para fazer uma compilação completa, assinatura e implantação de seu aplicativo para produção.
  • Atualmente, não há suporte para catálogos de ativos. Ao usar a Reinicialização Dinâmica, seu aplicativo mostrará o ícone padrão e a tela de inicialização para aplicativos Xamarin. Quando emparelhado com um Mac ou desenvolvendo em um Mac, seus Catálogos de Ativos funcionarão.

Solucionar problemas

  • Há um problema conhecido no qual ter builds específicos do dispositivo habilitados impede que o aplicativo entre no modo de depuração. A solução alternativa é desabilitar isso em Propriedades > iOS Compilar e tentar novamente a depuração. Isso será corrigido em uma versão futura.
  • Se o aplicativo já estiver presente no dispositivo, tentar implantar com o Hot Restart poderá falhar com um erro de AMDeviceStartHouseArrestService. A solução alternativa é desinstalar o aplicativo no dispositivo e implantá-lo novamente.
  • Inserir uma ID da Apple que não faz parte do Programa para Desenvolvedores da Apple pode resultar no seguinte erro: Authentication Error. Xcode 7.3 or later is required to continue developing with your Apple ID. Você deve ter uma conta de Desenvolvedor da Apple válida para usar a Reinicialização Dinâmica do Xamarin em dispositivos iOS.

Para relatar problemas adicionais, use a ferramenta de comentários em Ajuda > Enviar Comentários > Relatar um Problema.