Riavvio rapido Xamarin

Il riavvio rapido Xamarin consente di testare rapidamente le modifiche apportate all'app durante lo sviluppo, incluse le modifiche al codice composto da più file, le risorse e i riferimenti. Esegue il push delle nuove modifiche apportate al bundle dell'app esistente nella destinazione di debug velocizzando notevolmente il ciclo di compilazione e distribuzione.

Importante

Il riavvio rapido Xamarin è attualmente disponibile in Visual Studio 2019 versione 16.5 stabile e supporta le app iOS con Xamarin.Forms. Il supporto per Visual Studio per Mac e nonXamarin.Forms- app è in programma.

Requisiti

  • Visual Studio 2019 versione 16.5 o successiva
  • iTunes (versioni di Microsoft Store o a 64 bit)
  • Account Apple Developer e registrazione apple Developer Program a pagamento

Configurazione iniziale

Nota

Il riavvio rapido di Xamarin è disabilitato per impostazione predefinita in Visual Studio 16.8 e versioni precedenti. È possibile abilitarla in Strumenti > Opzioni > ambiente > Funzionalità > di anteprima Abilita riavvio rapido Xamarin. A partire da Visual Studio 16.9, Xamarin Hot Restart è attivato per impostazione predefinita e può essere disattivato da Opzioni > strumenti > Xamarin > iOS Impostazioni > Abilita riavvio frequente.

  1. Verificare che il progetto iOS sia impostato come progetto di avvio e che la configurazione della compilazione sia impostata su Debug|i Telefono.

    1. Se si tratta di un progetto esistente, passare a Build Configuration Manager... (Compila > Configuration Manager) e assicurarsi che Deploy (Distribuisci ) sia abilitato per il progetto iOS.
  2. Selezionare e fare clic su Dispositivo locale sulla barra degli strumenti per avviare la configurazione guidata:

    Screenshot of the Visual Studio toolbar with local device set as the debug target.

  3. Se iTunes non è installato, fare clic su Download iTunes (Scarica iTunes) per scaricare il programma di installazione. Al termine dell'installazione di iTunes, fare clic su Avanti.

  4. Connettere un dispositivo iOS al computer. Se un dispositivo era già collegato, scollegarlo, riconnetterlo. Il nome del dispositivo verrà visualizzato nella procedura guidata non appena rilevato. Fare clic su Avanti.

  5. Immettere le credenziali dell'account per sviluppatore Apple e fare clic su Avanti.

  6. Selezionare un team di sviluppo usando il menu a discesa per abilitare il provisioning automatico nel progetto. Fare clic su Fine.

Nota

È consigliabile usare il provisioning automatico in modo che i dispositivi iOS aggiuntivi possano essere facilmente configurati per la distribuzione. È tuttavia possibile disabilitarlo e continuare a usare il provisioning manuale se sono presenti i profili di provisioning corretti.

Usare il riavvio rapido Xamarin

Dopo la configurazione iniziale, il dispositivo connesso verrà visualizzato nel menu a discesa della destinazione di debug. Per eseguire il debug dell'app, selezionare il dispositivo nel menu a discesa e fare clic sul pulsante Esegui. Potrebbe essere visualizzato un messaggio in Visual Studio che richiede di avviare manualmente l'app nel dispositivo per avviare la sessione di debug.

È possibile apportare modifiche ai file di codice durante il debug, quindi fare clic sul pulsante Riavvia sulla barra degli strumenti di debug o usare CTRL+MAIUSC+F5 per riavviare la sessione di debug con le nuove modifiche applicate:

Screenshot of the debug toolbar with the restart button highlighted.

È anche possibile usare il simbolo del HOTRESTART preprocessore per impedire l'esecuzione di codice specifico durante il debug con il riavvio rapido di Xamarin.

Limiti

  • Attualmente sono supportate solo le app iOS create con Xamarin.Forms e i dispositivi iOS.
  • Sono supportati solo i dispositivi iOS a 64 bit. A partire da iOS 11, Apple non consente più l'esecuzione di app iOS nell'architettura a 32 bit (dispositivi precedenti a i Telefono 5s).
  • I file storyboard e XIB non sono supportati e l'app potrebbe arrestarsi in modo anomalo se prova a caricarli in fase di esecuzione. Usare il simbolo del preprocessore per impedire l'esecuzione HOTRESTART di questo codice.
  • Le librerie e i framework iOS statici non sono supportati e potrebbero verificarsi errori di runtime o arresti anomali se l'app tenta di caricarli. Usare il simbolo del preprocessore per impedire l'esecuzione HOTRESTART di questo codice. Sono supportate librerie iOS dinamiche.
  • Non è possibile usare il riavvio rapido Xamarin per creare bundle dell'app per la pubblicazione. Sarà comunque necessario un computer Mac per eseguire una compilazione completa, la firma e la distribuzione per l'applicazione nell'ambiente di produzione.
  • I cataloghi di asset non sono attualmente supportati. Quando si usa il riavvio rapido, l'app mostrerà l'icona predefinita e la schermata di avvio per le app Xamarin. Quando si associa a un Mac o si sviluppa in un Mac, i cataloghi di asset funzioneranno.

Risoluzione dei problemi

  • È presente un problema noto a causa del quale l'abilitazione di compilazioni specifiche del dispositivo impedisce all'app di accedere alla modalità di debug. La soluzione alternativa consiste nel disabilitare questa opzione in Proprietà > compilazione iOS e riprovare a eseguire il debug. Questo problema verrà risolto in una versione futura.
  • Se l'app è già presente nel dispositivo, il tentativo di distribuzione con il riavvio rapido potrebbe non riuscire con un errore AMDeviceStartHouseArrestService. Per ovviare al problema, disinstallare l'app nel dispositivo, quindi distribuirla di nuovo.
  • Se si immette un ID Apple che non fa parte del programma Apple Developer, potrebbe verificarsi l'errore seguente: Authentication Error. Xcode 7.3 or later is required to continue developing with your Apple ID. È necessario disporre di un account Apple Developer valido per usare il riavvio rapido Xamarin nei dispositivi iOS.

Per segnalare altri problemi, usare lo strumento di feedback all'indirizzo Help > Send Feedback > Segnala un problema.