Condividi tramite


Distribuire un'app iOS usando il riavvio rapido

Importante

Riavvio Rapido non è supportato in Visual Studio 2026: è possibile continuare a usare Hot Restart in Visual Studio 2022 (versione 17.14) per distribuire app .NET MAUI e .NET iOS in un dispositivo iOS locale senza un host di compilazione Mac. Per le versioni più recenti di Visual Studio, la soluzione consigliata consiste nell'usare Pair to Mac per compilare, distribuire ed eseguire il debug di app iOS.

In genere, quando si compila un'app, il codice viene compilato e combinato con altre risorse di progetto per compilare un bundle di app distribuito nel simulatore o nel dispositivo. Con questo modello, quando si apporta una modifica all'app, è necessario creare e distribuire un nuovo bundle di app. Anche se le compilazioni incrementali possono contribuire a ridurre il tempo di compilazione, le distribuzioni richiedono in genere la stessa quantità di tempo indipendentemente dalle dimensioni della modifica.

Il riavvio rapido dell'interfaccia utente app multipiattaforma .NET (.NET MAUI) consente di distribuire rapidamente un'app MAUI .NET in un dispositivo iOS locale a 64 bit, da Visual Studio 2022, senza richiedere un host di compilazione Mac. Rimuove la necessità di una ricompilazione completa del bundle dell'app eseguendo il push delle modifiche al bundle di app esistente già presente nel dispositivo iOS connesso in locale. Supporta le modifiche apportate ai file di codice, alle risorse e ai riferimenti ai progetti, consentendo di testare rapidamente le modifiche apportate all'app durante lo sviluppo.

Importante

Il riavvio rapido non è una sostituzione per l'esperienza di compilazione completa fornita da un host di compilazione Mac. Ad esempio, può distribuire solo app che usano la configurazione di compilazione di debug e non supporta librerie statiche e framework, XCFrameworks o pacchetti di risorse di associazione. Per altre informazioni, vedere: Limitazioni.

È necessario soddisfare diversi requisiti per l'uso del riavvio a caldo per distribuire un'app MAUI .NET in un dispositivo iOS connesso in locale:

  • È necessario usare Visual Studio 2022 versione 17.3 o successiva.
  • È necessario che nel computer di sviluppo sia installato iTunes (Microsoft Store o versione a 64 bit).
  • È necessario disporre di un account Apple Developer e di una registrazione apple Developer Program a pagamento.

Configurazione

Per configurare il riavvio a caldo, seguire questa procedura:

  1. Nella barra degli strumenti di Visual Studio usare l'elenco a discesa Destinazione di debug per selezionare iOS Dispositivi Locali e quindi la voce Dispositivo Locale:

    Screenshot della selezione della destinazione iniziale di debug per il riavvio a caldo.

  2. Nella barra degli strumenti di Visual Studio selezionare Dispositivo locale:

    Screenshot della destinazione di debug iniziale scelta per il riavvio a caldo.

    Apparirà la procedura guidata di installazione del riavvio rapido, che ti guiderà nella configurazione di un dispositivo iOS locale per la distribuzione tramite riavvio rapido.

  3. Nell'Installazione Guidata Riavvio Rapido, selezionare Avanti:

    Screenshot del primo passaggio della procedura guidata per il riavvio rapido dell'installazione.

  4. Se iTunes non è installato, l'installazione guidata richiederà di installarlo. Nella configurazione guidata del riavvio rapido selezionare Scarica iTunes:

    Screenshot del secondo passaggio della procedura guidata di riavvio rapido dell'installazione.

    Nota

    iTunes può essere installato da Microsoft Store o scaricandolo da Apple.

    Attendere il download di iTunes e quindi installarlo. Quando lo installi dal Microsoft Store, una volta completata l'installazione, aprilo, quindi segui le istruzioni aggiuntive per abilitare la funzione di individuazione dei dispositivi collegati localmente.

  5. Nella configurazione guidata del riavvio rapido selezionare Avanti per passare al passaggio successivo della procedura guidata che richiederà di connettere un dispositivo iOS locale:

    Screenshot del terzo passaggio iniziale della procedura guidata di riavvio rapido dell'installazione.

  6. Connettere il dispositivo iOS al computer di sviluppo tramite un cavo USB. Nel dispositivo potrebbe essere visualizzata una richiesta che richiede di considerare attendibile il computer di sviluppo. Nel dispositivo fare clic su Considera attendibile e seguire eventuali richieste aggiuntive del dispositivo.

  7. Nella configurazione guidata di Setup Hot Restart, selezionare Avanti dopo che il dispositivo iOS locale è stato rilevato:

    Screenshot del terzo passaggio completato nella procedura guidata di riavvio rapido dell'installazione.

    Nota

    Se l'installazione guidata non riesce a rilevare il dispositivo iOS locale, disconnettilo e poi riconnettilo al computer di sviluppo. Assicurarsi inoltre che iTunes riconosca il dispositivo iOS locale.

  8. Nella procedura guidata di Setup Hot Restart, fare clic sul collegamento ipertestuale Accedi con un account individuale per configurare il riavvio rapido usando il tuo account individuale Apple Developer Program:

    Screenshot del quarto passaggio iniziale della procedura guidata di riavvio rapido dell'installazione.

    Verrà visualizzata la finestra di dialogo Account individuale.

    Nota

    In alternativa, per configurare il riavvio rapido per l'uso di un account Apple Developer aziendale, fare clic sul collegamento ipertestuale Accedi con un account aziendale e immettere le credenziali nella finestra di dialogo visualizzata. Procedere quindi con il passaggio 12.

  9. Creare una chiave API Connect di App Store. Sarà necessario disporre di un account Apple Developer e di una registrazione apple Developer Program a pagamento. Per informazioni sulla creazione di una chiave API Connect di App Store, vedere Creazione di chiavi API per l'API Connect di App Store in developer.apple.com.

  10. Nella finestra di dialogo Account singolo immettere i dati della chiave API connect di App Store:

    Screenshot della finestra di dialogo completata per l'aggiunta di un account Apple Individual.

    I dati Nome, ID Emittente e ID Chiave sono disponibili in App Store Connect selezionando Utenti e accesso e quindi la scheda Integrazioni.

    Screenshot dei dettagli dell'API Connect di Apple App Store.

  11. Nella finestra di dialogo Account singolo fare clic sul pulsante Aggiungi. Verrà chiusa la finestra di dialogo Account individuale.

  12. Nella procedura guidata di Riavvio Rapido, fare clic sul pulsante Fine:

    Screenshot del quarto passaggio completato nella procedura guidata di riavvio rapido dell'installazione.

    L'account Apple Developer Program verrà aggiunto a Visual Studio e la procedura di installazione Setup Hot Restart verrà chiusa.

  13. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e scegliere Proprietà.

  14. Nelle proprietà del progetto, espandere iOS e selezionare Firma del pacchetto. Usare l'elenco a discesa Schema per selezionare Provisioning automatico e quindi fare clic sul collegamento ipertestuale Configura provisioning automatico:

    Screenshot del provisioning automatico abilitato nella pagina delle proprietà iOS in Visual Studio.

    Verrà visualizzata la finestra di dialogo Configura provisioning automatico.

  15. Nella finestra di dialogo Configura il provisioning automatico, selezionare il gruppo per la chiave API di Connect:

    Screenshot della finestra di dialogo di provisioning automatico quando è configurata correttamente.

    Visual Studio completerà il processo di provisioning automatico. Fare quindi clic sul pulsante OK per chiudere la finestra di dialogo Configura provisioning automatico.

    Nota

    È consigliabile usare il provisioning automatico in modo che sia possibile configurare facilmente dispositivi iOS aggiuntivi per la distribuzione. Tuttavia, è possibile usare il provisioning manuale se nel computer sono presenti i profili di provisioning corretti.

Distribuire ed eseguire il debug usando il riavvio rapido

Dopo aver eseguito la configurazione iniziale, il dispositivo iOS locale connesso verrà visualizzato nel menu a tendina destinazione di debug. Per distribuire ed eseguire il debug dell'app:

  1. Assicurarsi che il dispositivo iOS connesso locale sia sbloccato.

  2. Nella barra degli strumenti di Visual Studio selezionare il dispositivo iOS connesso locale nell'elenco a discesa destinazione di debug e fare clic sul pulsante Esegui per compilare l'app e distribuirla nel dispositivo iOS locale:

    Screenshot della destinazione di debug selezionata per il riavvio rapido.

  3. Dopo aver distribuito l'app, Visual Studio visualizzerà la finestra di dialogo Connessione debugger :

    Screenshot della finestra di dialogo che chiede di avviare l'app nel dispositivo.

    Avviare l'app nel dispositivo e Visual Studio connetterà il debugger all'app in esecuzione e la finestra di dialogo Connessione debugger verrà chiusa.

Durante il debug dell'app, è possibile modificare il codice C# e premere il pulsante di riavvio nella barra degli strumenti di Visual Studio per riavviare la sessione di debug con le nuove modifiche applicate:

Screenshot del pulsante di riavvio sulla barra degli strumenti di Visual Studio.

Impedire l'esecuzione del codice

Il HOTRESTART simbolo del preprocessore può essere usato per impedire l'esecuzione del codice durante il debug con il riavvio a caldo:

#if !HOTRESTART
  // Code here won't be executed when debugging with hot restart
#endif

Abilitare il riavvio a caldo

Il riavvio rapido è abilitato per impostazione predefinita in Visual Studio 2022. Se è stata disabilitata in precedenza, può essere abilitata selezionando Strumenti > Opzioni dalla barra dei menu di Visual Studio. Successivamente, nella finestra di dialogo Opzioni espandere Xamarin e selezionare Impostazioni iOS. Assicurarsi quindi che l'opzione Abilita riavvio frequente sia selezionata:

Screenshot di come abilitare il riavvio a caldo in Visual Studio.

Limiti

Esistono limitazioni quando si usa il riavvio a caldo:

  • Può essere usato solo per distribuire app che utilizzano la configurazione di compilazione debug. È comunque necessario un host di compilazione Mac per compilare, firmare e distribuire l'app a scopo di produzione.
  • I file Storyboard e XIB non sono supportati e l'app potrebbe arrestarsi in modo anomalo se tenta di caricarli in fase di esecuzione.
  • Le librerie iOS statiche e i framework contenenti librerie statiche non sono supportati e potrebbero verificarsi errori di runtime o arresti anomali se l'app tenta di caricarli.
  • Sono supportati pacchetti di risorse XCFrameworks e binding, purché non contengano librerie iOS statiche o framework con librerie statiche.
  • I cataloghi di asset non sono supportati. Quando si usa il riavvio rapido, l'app visualizzerà un'icona .NET e una schermata di avvio.

Risoluzione dei problemi

iOS usa un watchdog che monitora i tempi di avvio e la velocità di risposta delle app e termina le app che non rispondono. Ad esempio, watchdog termina le app che bloccano il thread principale per un periodo di tempo significativo. Nei dispositivi iOS precedenti, il watchdog può terminare un'app distribuita usando il riavvio rapido prima che il debugger sia connesso. La soluzione alternativa consiste nel ridurre la quantità di elaborazione eseguita nel percorso di avvio dell'app e usare un dispositivo iOS più recente.

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