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 doctorsem erros críticos -
Executar por UUID
Comandos Úteis
flutter devices
flutter emulators
xcode-select -p
Status: Resolvido