Nesse artigo, mostrarei qual o procedimento necessário para poder testar seu projeto em Flutter diretamente do seu iPhone ou em seu iPad. Com isso, você poderá ver como o seu App ficará num dispositivo real, e também poderá aliviar o peso para sua máquina por dispensar o uso de um emulador.
Configurando o Projeto
Antes de mais nada, o Xcode ainda será necessário, mesmo que não utilizemos o emulador. Então, o primeiro passo é instalar o Xcode. É possível fazer a instalação diretamente da AppStore do Mac, ou até mesmo a partir do seguinte link: https://developer.apple.com/download/release/ . Nesse caso, será necessário logar com sua conta da Apple, mas fique tranquilo, pois esse site é o oficial da empresa.
Com o Xcode instalado, vamos agora preparar um projeto em Flutter para executar no seu dispositivo. Vou criar utilizando o clássico comando “flutter create”. O nome do projeto será “iostest”:
flutter create iostest
Configurando o dipositivo iOS
A partir de agora, será necessário conectar seu dispositivo ao seu Mac com um cabo USB.
Com o projeto Flutter já criado, vamos navegar pela sua pasta principal pelo seguinte caminho: “iostest > ios > Runner.xcworkspace”. Basta abrir o arquivo em questão pelo Xcode, seja clicando duas vezes (caso o seu Xcode seja o padrão para abrir tal tipo de arquivo) ou utilizando o clique direito do mouse e indo na opção “Abrir com”.
Com o projeto já aberto no Xcode, será possível ver logo na barra superior o “Runner” e o dipositivo aonde ele será executado. A essa altura, já é possível escolher o seu dispositivo físico para a execução do projeto.
Com o dispositivo selecionado, vamos voltar nossa atenção para o menu à esquerda, que contém os arquivos do projeto. Lá, escolheremos o item raiz do projeto (no meu caso, está como “Runner”); no menu que abre a direita, vamos escolher a opção que está na aba “Targets”.
Ao clicar nesse menu, vá diretamente para a aba “Signing & Capabilities”. Lá você verá um conjunto de menus que estará mais ou menos dessa forma aqui:
Aqui será necessário fazer algumas mudanças. Primeiro, no menu “Team” você precisa selecionar algum, eu estarei utilizando meu “Team” pessoal, o da minha conta normal.
E na parte do Bundle será necessário utilizar um “Identifier” único, é como se fosse um ID mesmo. Uma dica que posso dar é de utilizar a data do dia do teste nessa hora, dessa forma você gerará um Identifier único. No fim, deixei o meu dessa forma(Apenas ocultei algumas informações pessoais):
Com essas configurações feitas, já podemos executar o projeto clicando no botão de “Play” que fica próximo aos botões da janela do Mac. Pode ser necessário ou não digitar sua senha do Mac nesse processo.
Após o Xcode terminar de executar o projeto, o App será instalado no seu dispositivo. Um erro, jjaaaorém, será gerado logo após isso, indicando que o App não pode ser aberto. Isso é normal, é necessário fazer outra configuração, dessa vez no seu dispositivo.
A configuração é a seguinte. Abre o App “Ajustes” no seu dispositivo, depois no menu “Geral” e procure pela opção “Gerenciamento de Dispositivo”. Ao entrar nessa opção verá que existe a opção “Apple Development” junto do email da sua conta. Basta clicar nessa opção e clicar em “Confiar”. Caso você desinstale o App do seu dispositivo em algum momento, será necessário refazer todo esse passo-a-passo novamente, desde instalado o App via Xcode, até confiar no desenvolvedor nas configurações do dispositivo. Fique atento.
Agora, com essa configuração finalizada, pode clicar no Play do Xcode novamente e seu App irá abrir normalmente.
Utilizando o dispositivo iOS diretamente do VSCode
Com tudo isso feito, será possível executar seu projeto diretamente do VSCode sem precisar ter o Xcode no seu dispositivo. Para isso é bem simples. Na barra inferior do Code tem diversas informações sobre a página atual, uma delas é o “Device” aonde o Projeto será executado, caso você já tenha algum selecionado, ele irá aparecer lá ao invés do nome “Device”.
Nessa barra, clique no “Device” e um menu irá aparecer, listando todos os seus possíveis dispositivos que podem executar seu projeto:
Basta selecionar o seu dispositivo e apertar o comando “Control + F5” para executar o projeto. É Control mesmo, não é o Command. Lembrando que é necessário o seu dispositivo estar desbloqueado para poder continuar com a instalação. Com isso, você poderá testar o App em tempo real no seu dispositivo, ou seja, as edições feitas no VSCode atualizam automaticamente no seu dispositivo após salvar o código.
Em alguns casos, você pode tomar um erro do “iproxy”. Nesse caso, como são muitas as possibilidades de resolução de tal erro, indico dar uma lida nesse post sobre o erro no Github oficial da tecnologia Flutter, aqui o link: https://github.com/flutter/flutter/issues/42969
Conclusão
De fato, esse assunto é um pouco complexo, mas é uma forma bem eficaz de testar seu App diretamente no seu dispositivo e ver como ele irá ficar fora de um emulador. Fora que depois do processo, você poderá executar o app no VSCode diretamente no seu iOS, poupando bastante processamento do seu Mac ao não utilizar um emulador.