Implantar um aplicativo iOS usando a reinicialização ativa
Normalmente, ao criar um aplicativo, seu código é compilado e combinado com outros recursos do projeto para criar um pacote de aplicativos implantado em seu simulador ou dispositivo. Com esse modelo, quando você faz uma alteração em seu aplicativo, um novo pacote de aplicativos precisa ser criado e implantado. Embora compilações incrementais possam ajudar a reduzir o tempo de compilação, as implantações geralmente levam a mesma quantidade de tempo, independentemente do tamanho da alteração.
A reinicialização ativa da interface do usuário do aplicativo multiplataforma do .NET (.NET MAUI) permite que você implante rapidamente um aplicativo .NET MAUI em um dispositivo iOS local de 64 bits, a partir do Visual Studio 2022, sem a necessidade de um host de compilação do Mac. Ele elimina a necessidade de uma reconstrução completa do pacote de aplicativos, enviando alterações para o pacote de aplicativos existente que já está presente no seu dispositivo iOS conectado localmente. Ele oferece suporte a alterações em arquivos de código, recursos e referências de projeto, permitindo que você teste rapidamente as alterações em seu aplicativo durante o desenvolvimento.
Importante
A reinicialização a quente não substitui a experiência de compilação completa fornecida por um host de compilação do Mac. Por exemplo, ele só pode implantar aplicativos que usam a configuração de compilação de depuração e não oferece suporte a bibliotecas e estruturas estáticas, XCFrameworks ou pacotes de recursos de vinculação. Para obter mais informações, confira Limitações.
Há uma série de requisitos que devem ser atendidos para usar a reinicialização ativa para implantar um aplicativo .NET MAUI em um dispositivo iOS conectado localmente:
- Você deve estar usando o Visual Studio 2022 versão 17.3 ou superior.
- Você deve ter o iTunes (Microsoft Store ou versão de 64 bits) instalado em sua máquina de desenvolvimento.
- Você deve ter uma conta de desenvolvedor Apple e inscrição paga no Apple Developer Program .
Instalação
Execute as seguintes etapas para configurar a reinicialização a quente:
Na barra de ferramentas do Visual Studio, use o menu suspenso Destino de depuração para selecionar Dispositivos locais do iOS e, em seguida, a entrada Dispositivo local:
Na barra de ferramentas do Visual Studio, selecione Dispositivo Local:
O assistente de configuração de instalação de reinicialização a quente será exibido, o que o guiará durante a configuração de um dispositivo iOS local para implantação de reinicialização a quente.
No assistente de instalação do Hot Restart para instalação, selecione Avançar:
Se você não tiver o iTunes instalado, o assistente de configuração solicitará que você o instale. No assistente de configuração do Setup Hot Restart , selecione Baixar iTunes:
Observação
O iTunes pode ser instalado a partir da Microsoft Store ou transferindo-o a partir da Apple.
Aguarde o download do iTunes e instale-o. Se você instalá-lo a partir da Microsoft Store, assim que a instalação for concluída, abra-o e siga os prompts adicionais para habilitá-lo a descobrir dispositivos conectados localmente.
No assistente de configuração de Reinicialização a Quente de Instalação, selecione Avançar para ir para a próxima etapa do assistente que solicitará que você conecte um dispositivo iOS local:
Conecte seu dispositivo iOS à sua máquina de desenvolvimento através de um cabo USB. Um prompt pode aparecer no seu dispositivo solicitando que você confie na sua máquina de desenvolvimento. No dispositivo, clique em Confiar e siga as instruções adicionais do dispositivo.
No assistente de configuração Configuração de Reinicialização a Quente , selecione Avançar assim que o dispositivo iOS local for detectado:
Observação
Se o assistente de configuração não detectar o dispositivo iOS local, desconecte-se e reconecte o dispositivo iOS local da máquina de desenvolvimento. Além disso, certifique-se de que o iTunes reconhece o dispositivo iOS local.
No assistente de configuração do Setup Hot Restart, clique no hiperlink Entrar com uma conta individual para configurar o hot restart para usar sua conta individual do Apple Developer Program:
A caixa de diálogo Conta individual é exibida.
Observação
Como alternativa, para configurar a reinicialização ativa para usar uma conta corporativa do Apple Developer, clique no hiperlink Entrar com uma conta corporativa e insira suas credenciais na caixa de diálogo exibida. Em seguida, prossiga para a etapa 12.
Crie uma chave de API do App Store Connect. Isso exigirá que você tenha uma conta de desenvolvedor da Apple e uma inscrição paga no Apple Developer Program. Para obter informações sobre como criar uma chave de API do App Store Connect, consulte Criando chaves de API para a API do App Store Connect em developer.apple.com.
Na caixa de diálogo Conta individual, insira os dados da chave da API do App Store Connect:
Os dados de Nome, ID do Emissor e ID da Chave podem ser encontrados no App Store Connect selecionando Usuários e Acesso e, em seguida, a guia Chaves. A chave privada também pode ser baixada deste local:
Na caixa de diálogo Conta individual, clique no botão Adicionar . A caixa de diálogo Conta individual será fechada.
No assistente de instalação Hot Restart setup, clique no botão Concluir :
Sua conta do Apple Developer Program será adicionada ao Visual Studio e o assistente de instalação Hot Restart será fechado.
No Gerenciador de Soluções, clique com o botão direito do mouse no projeto e selecione Propriedades.
Nas propriedades do projeto, expanda iOS e selecione Assinatura de pacote. Use a lista suspensa Esquema para selecionar Provisionamento Automático e clique no hiperlink Configurar Provisionamento Automático:
A caixa de diálogo Configurar provisionamento automático será exibida.
Na caixa de diálogo Configurar provisionamento automático, selecione a equipe para sua chave de API do Connect:
O Visual Studio concluirá o processo de provisionamento automático. Em seguida, clique no botão Ok para descartar a caixa de diálogo Configurar provisionamento automático.
Observação
O uso do provisionamento automático é recomendado para que dispositivos iOS adicionais possam ser facilmente configurados para implantação. No entanto, você pode usar o provisionamento manual se os perfis de provisionamento corretos estiverem presentes em sua máquina.
Implantar e depurar usando a reinicialização ativa
Depois de executar a configuração inicial, seu dispositivo iOS conectado local aparecerá no menu suspenso de destino de depuração. Para implantar e depurar seu aplicativo:
Verifique se o dispositivo iOS conectado local está desbloqueado.
Na barra de ferramentas do Visual Studio, selecione seu dispositivo iOS conectado local na lista suspensa de destino de depuração e clique no botão Executar para criar seu aplicativo e implantá-lo em seu dispositivo iOS local:
Depois de implantar seu aplicativo, o Visual Studio exibirá a caixa de diálogo Depurador de Conexão:
Inicie o aplicativo em seu dispositivo e o Visual Studio conectará o depurador ao aplicativo em execução e a caixa de diálogo Depurador de Conexão será descartada.
Enquanto estiver depurando seu aplicativo, você pode editar seu código C# e pressionar o botão de reinicialização na barra de ferramentas do Visual Studio para reiniciar sua sessão de depuração com as novas alterações aplicadas:
Impedir a execução de código
O HOTRESTART
símbolo do pré-processador pode ser usado para impedir que o código seja executado durante a depuração com a reinicialização a quente:
#if !HOTRESTART
// Code here won't be executed when debugging with hot restart
#endif
Ativar reinicialização a quente
A reinicialização a quente é habilitada por padrão no Visual Studio 2022. Se ele tiver sido desabilitado anteriormente, ele poderá ser habilitado selecionando Opções de Ferramentas > na barra de menus do Visual Studio. Em seguida, na caixa de diálogo Opções , expanda Xamarin e selecione Configurações do iOS. Em seguida, verifique se a opção Ativar reinicialização a quente está marcada:
Limitações
Há limitações ao usar a reinicialização a quente:
- Ele só pode ser usado para implantar aplicativos que usam a configuração de compilação de depuração. Você ainda precisará de um host de compilação do Mac para criar, assinar e implantar seu aplicativo para fins de produção.
- Os arquivos Storyboard e XIB não são suportados, e seu aplicativo pode falhar se tentar carregá-los em tempo de execução.
- As bibliotecas e estruturas estáticas do iOS não são suportadas e você pode ver erros de tempo de execução ou falhas se seu aplicativo tentar carregá-los.
- XCFrameworks e pacotes de recursos de vinculação não são suportados.
- Não há suporte para catálogos de ativos. Ao usar o Hot Restart, seu aplicativo mostrará um ícone do .NET e uma tela de inicialização.
Solucionar problemas
O iOS usa um cão de guarda que monitora os tempos de inicialização e a capacidade de resposta do aplicativo e encerra os aplicativos que não respondem. Por exemplo, o watchdog encerra aplicativos que bloqueiam o thread principal por um tempo significativo. Em dispositivos iOS antigos, o cão de guarda pode encerrar um aplicativo que foi implantado usando a reinicialização ativa antes que o depurador se conecte a ele. A solução alternativa é reduzir a quantidade de processamento realizado no caminho de inicialização do aplicativo e usar um dispositivo iOS mais recente.
Para relatar problemas adicionais, use a ferramenta de comentários em Ajuda > para Enviar Comentários > Reporte um Problema.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de