Debug of a MAUI Application on iOS real device
In questo breve articolo di parlerò dell'inferno che riguarda il debug di un'applicazione MAUI su iOS.
Problema
Vorrei eseguire il debug di un'applicazione MAUI su un dispositivo reale. L'applicazione sembra avviarsi ma si interrompe (sembra un crash) dopo pochissimo.
Nella finestra di output di Visual Studio vedo qualche riga di log che viene scritta dal un view model, ma subito dopo ottengo l'errore seguente:
INFO: Disposing input and output streams...
INFO: Disposing input and output streams...
The program 'BadgeApp' has exited with code 0 (0x0).
INFO: Closing HotReload local tunnel connection from device
INFO: Closing debug connection from device (USB)
The app has been terminated.
INFO: Closing debug connection from remote debugger (TCP)
INFO: Disposing input and output streams...
The vsdbg debug session for project 'D:\projects\MySolution\MyProject.csproj' has been stopped
INFO: Disposing input and output streams...
INFO: Disposing console and debugger streams...
INFO: The debug stream is no longer available for writing
Ho pensato subito a problemi di connessione e ho sostituito il mio router controllando attentamente i vari firewall. La situazione continuava a ripresentarsi.
Ho quindi dato uno sguardo ai vari log.
Log di Visual Studio -> nessun problema particolare
Log del MacMini -> nessun problema particolare
Log del device (iPhone 14) -> sembrava esserci un problema di provisioning e di permissions. Ho ricreato quindi il profilo di DEV, ma nulla. Stesso errore.
Ho creato un nuovo progetto MAUI e riuscivo a eseguire correttamente il debug sul mio iPhone quindi ho supposto che il problema era nel progetto.
Ho iniziato a commentare parti dell'applicazione rendendola praticamente una scatola vuota. Per farla breve il problema si presentava in modo randomico.
Incredibile! Ormai era diventata una questione di principio.
Non sto ad elencare tutti i tentativi fatti tra update di tutti i pacchetti, passaggio da NET9 a NET10, i vari "dotnet workload update" (install/uninstall e repair).
Alla fine la soluzione è stata molto più semplice del previsto.
Eccola!
La soluzione
La soluzione per eseguire il debug della mia applicazione MAUI con Visual Studio su un iPhone è connettere con un cavo ethernet il pc Windows e il MacMini.
Non serve un cavo con i collegamenti incrociati. Dovrebbe andar bene qualsiasi cavo.
Quindi connetti il pc Windows con il Mac tramite il cavo. Poi configura la rete su entrambi il pc in modo da avere ip fisso.
Configurazione della rete sul Mac Mini
Vai su Impostazioni -> Rete e seleziona "Ethernet". Poi clicca su "Dettagli".
Seleziona la tab TCP/IP.
Imposta:
- Configura IPv4: Manualmente
- Indirizzo IP: 192.168.1.2
- Maschera sottorete: 255.255.255.0
Salva.
Configurazione della rete su Windows
Vai su Impostazioni -> Rete e Internet -> Ethernet. Poi clicca su "Modifica".
Imposta:
- Manuale
- Indirizzo IP 192.168.1.1
- Subnet mask: 255.255.255.0
- Lascia vuoti i campi Gateway e DNS predefinito
Configurazione Visual Studio 2026
A questo punto bisogna riassociare il pc Windows al Mac utilizzando il nuovo ip (192.168.1.2).