Flutter iOS – Simulador não aparece no terminal (iPhone 17 / iOS 26)

Flutter iOS – Simulador não aparece no terminal (iPhone 17 / iOS 26)

Problema

O simulador existe no Xcode, mas não aparece no flutter devices, causando erros ao rodar o app (ex.: kernel_snapshot_program failed, app não inicia no simulador).

Causa

O Flutter só lista simuladores já BOOTADOS ou previamente reconhecidos. Simuladores recém-criados ou desligados (Shutdown) não aparecem automaticamente.

Solução (Direta e Funcional)

1) Listar simuladores disponíveis (UUID)

xcrun simctl list devices

Copie o UUID do simulador desejado (ex.: iPhone 17).

2) Inicializar (bootar) o simulador pelo terminal

xcrun simctl boot <UUID_DO_SIMULADOR>

3) Abrir a interface gráfica do Simulator

open -a Simulator

Confirme que o iPhone está ligado.

4) Forçar o Flutter a reconhecer

flutter doctor --verbose
flutter devices

5) Rodar o app diretamente pelo UUID (recomendado)

flutter run -d <UUID_DO_SIMULADOR>

Ignora problemas de nome/listagem.


Limpeza pesada (apenas se o build falhar)

Execute uma única vez:

flutter clean
rm -rf ios/Pods ios/.symlinks ios/Flutter/Flutter.framework ios/Flutter/Flutter.podspec
flutter pub get
cd ios
pod install --repo-update
cd ..

Depois:

flutter run -d <UUID_DO_SIMULADOR>

Observações Importantes

  • Não quebra compatibilidade com iPhones anteriores.

  • Manter o terminal aberto é recomendado durante o flutter run.

  • Simulador ≠ dispositivo físico (compatibilidade depende do deployment target e APIs usadas).

Checklist Rápido

  • Simulador bootado (simctl boot)

  • Simulator aberto

  • flutter doctor sem erros críticos

  • Executar por UUID

Comandos Úteis

flutter devices
flutter emulators
xcode-select -p

Status: Resolvido

Você achou esse artigo útil?