Condividi tramite


Associa a Mac per lo sviluppo iOS

La compilazione di applicazioni iOS native con l'interfaccia utente dell'app multipiattaforma .NET (.NET MAUI) richiede l'accesso agli strumenti di compilazione di Apple, che vengono eseguiti solo in un Mac. Per questo motivo, Visual Studio 2022 deve connettersi a un Mac accessibile dalla rete per compilare app IOS MAUI .NET.

La funzionalità Associa a Mac di Visual Studio 2022 individua, si connette, esegue l'autenticazione e memorizza gli host di compilazione Mac in modo che sia possibile lavorare in modo produttivo in Windows.

Associa a Mac consente il flusso di lavoro di sviluppo software seguente:

  • È possibile scrivere codice iOS .NET MAUI in Visual Studio 2022.
  • Visual Studio 2022 apre una connessione di rete a un host di compilazione Mac e usa gli strumenti di compilazione in tale computer per compilare e firmare l'app iOS.
  • Non è necessario eseguire un'applicazione separata nel Mac: Visual Studio 2022 richiama le compilazioni Mac in modo sicuro tramite SSH.
  • Visual Studio 2022 riceve una notifica delle modifiche non appena si verificano. Ad esempio, quando un dispositivo iOS è collegato al Mac o diventa disponibile in rete, la barra degli strumenti iOS viene aggiornata immediatamente.
  • Più istanze di Visual Studio 2022 possono connettersi contemporaneamente al Mac.
  • È possibile usare la riga di comando di Windows per compilare app iOS.

Nota

Prima di seguire le istruzioni in questo articolo, in un Mac installare Xcode. Aprire quindi manualmente Xcode, dopo l'installazione, in modo che possa aggiungere altri componenti. È anche consigliabile installare Mono. Inoltre, se hai un computer Mac con apple silicon, assicurati che Rosetta sia installato.

Visual Studio 2022 configurerà automaticamente l'host di compilazione Mac. Tuttavia, è comunque necessario installare ed eseguire Xcode e installare Mono.

Abilitare l'accesso remoto nel Mac

Per configurare l'host di compilazione Mac, abilitare per prima cosa l'accesso remoto:

  1. Nel Mac aprire Preferenze di sistema e passare al riquadro Condivisione .

  2. Selezionare Login remoto nell'elenco Servizio.

    Abilitazione dell'accesso remoto.

    Assicurarsi che sia configurato per consentire l'accesso per Tutti gli utenti o che il nome utente o il gruppo Mac sia incluso nell'elenco degli utenti consentiti.

  3. Se richiesto, configurare il firewall macOS. Se il firewall macOS è impostato per bloccare le connessioni in entrata, potrebbe essere necessario consentire a mono-sgen di ricevere le connessioni in entrata. Viene visualizzato un avviso che richiede l'utente in tal caso.

  4. Se si trova nella stessa rete del computer Windows, il Mac dovrebbe ora essere individuabile da Visual Studio 2022. Se il Mac non è ancora individuabile, provare ad aggiungere manualmente un Mac.

Connettersi al Mac da Visual Studio 2022

Dopo aver abilitato l'accesso remoto nel Mac, connettere Visual Studio 2022 al Mac:

  1. In Visual Studio 2022 aprire un progetto MAUI .NET esistente o crearne uno nuovo.

  2. Aprire la finestra di dialogo Associa a Mac con il pulsante Associa a Mac barra degli strumenti iOS:

    La barra degli strumenti iOS, con il pulsante Associa a Mac evidenziato.

    In alternativa, selezionare Strumenti > associa iOS > a Mac.

    La finestra di dialogo Associa a Mac visualizza un elenco di tutti gli host di compilazione Mac precedentemente connessi e attualmente disponibili:

    Finestra di dialogo Associa a Mac.

  3. Selezionare un Mac nell'elenco e selezionare Connetti.

  4. Immettere nome utente e password. La prima volta che ci si connette a qualsiasi Mac specifico, viene richiesto di immettere il nome utente e la password per il computer:

    Immettere un nome utente e una password per il Mac.

    Suggerimento

    Quando si esegue l'accesso, usare il nome utente del sistema.

    Associa a Mac userà queste credenziali per creare una nuova connessione SSH al Mac. Se l'operazione ha esito positivo, viene aggiunta una chiave al file authorized_keys nel Mac. Le connessioni successive allo stesso Mac eseguiranno automaticamente l'accesso.

  5. Associa a Mac configura automaticamente il Mac. Visual Studio 2022 installa o aggiorna i prerequisiti in un host di compilazione Mac connesso in base alle esigenze. Tuttavia, Xcode deve comunque essere installato manualmente.

  6. Esaminare l'icona dello stato della connessione. Quando Visual Studio 2022 è connesso a un Mac, l'elemento di Mac nella finestra di dialogo Associa a Mac visualizza un'icona che indica che è attualmente connesso:

    Mac connesso.

    È possibile connettere un solo Mac alla volta.

    Suggerimento

    Facendo clic con il pulsante destro del mouse su un Mac qualsiasi nell'elenco Associa a Mac, viene visualizzato un menu di scelta rapida in cui è possibile scegliere Connetti..., Rimuovi questo Mac oppure Disconnetti:

    Menu di scelta rapida Associa a Mac.

    Se si sceglie Rimuovi questo Mac, le credenziali per il Mac selezionato verranno rimosse. Per riconnettersi a tale Mac, sarà necessario immettere di nuovo il nome utente e la password.

Se è stata eseguita correttamente l'associazione a un host di compilazione Mac, è possibile compilare app IOS .NET MAUI in Visual Studio 2022. Per altre informazioni, vedere Creare la prima app.

Se non è stato possibile associare un Mac, provare ad aggiungere manualmente un Mac.

Aggiungere manualmente un Mac

Se non viene visualizzato un Mac specifico elencato nella finestra di dialogo Associa a Mac , aggiungerlo manualmente:

  1. Aprire Preferenze > di sistema Condivisione > accesso remoto sul Mac per individuare l'indirizzo IP del Mac:

    Indirizzo IP del Mac in Condivisione preferenze > di sistema.

    In alternativa, usare la riga di comando. In Terminale eseguire il comando seguente:

    ipconfig getifaddr en0
    

    A seconda della configurazione di rete, potrebbe essere necessario usare un nome di interfaccia diverso da en0, en1 ad esempio o en2.

  2. Nella finestra di dialogo Associa a Mac di Visual Studio 2022 selezionare Aggiungi Mac:In Visual Studio 2022's Pair to Mac dialog, select Add Mac...:

    Pulsante Aggiungi Mac nella finestra di dialogo Associa a Mac.

  3. Immettere l'indirizzo IP del Mac e selezionare Aggiungi:

    Immissione dell'indirizzo IP del Mac.

  4. Immettere il nome utente e la password per il Mac:

    Immettere un nome utente e una password.

    Suggerimento

    Quando si esegue l'accesso, usare il nome utente del sistema.

  5. Selezionare Account di accesso per connettere Visual Studio 2022 al Mac tramite SSH e aggiungerlo all'elenco dei computer noti.

Abilitare la connessione automatica ai Mac noti

Per impostazione predefinita, non verrà stabilita una connessione ai Mac associati in precedenza all'avvio di Visual Studio. Tuttavia, la connessione automatica ai Mac noti può essere abilitata in Visual Studio passando a Opzioni strumenti > > Impostazioni Xamarin > iOS e verificando che l'opzione Abilita connessione automatica a Mac noti sia selezionata:

Abilitare la connessione automatica ai Mac noti in Visual Studio.

Dopo il riavvio di Visual Studio, si connetterà automaticamente ai Mac noti in ogni avvio.

Provisioning automatico del Mac

Associa a Mac effettua automaticamente il provisioning di un Mac con il software necessario per la compilazione di app iOS MAUI .NET. Sono inclusi .NET e vari strumenti correlati a Xcode (ma non Xcode).

Importante

  • L'associazione a Mac non può installare Xcode. È necessario installarlo manualmente nell'host di compilazione Mac. È necessario per lo sviluppo di iOS .NET MAUI.
  • Per il provisioning automatico del Mac è necessario che l'accesso remoto sia abilitato nel Mac e il Mac deve essere accessibile al computer Windows tramite la rete.
  • Il provisioning automatico mac richiede spazio libero sufficiente nel Mac per installare .NET.

Inoltre, Pair to Mac esegue le installazioni software e gli aggiornamenti necessari per il Mac, quando Visual Studio 2022 si connette.

Strumenti e licenza Xcode

Associa a Mac verificherà inoltre se Xcode è stato installato e la relativa licenza accettata. Anche se Pair to Mac non installa Xcode, richiede l'accettazione della licenza.

Inoltre, Pair to Mac installerà o aggiornerà vari pacchetti distribuiti con Xcode. L'installazione di questi pacchetti avviene rapidamente e senza un prompt.

Risoluzione dei problemi di provisioning automatico del Mac

Se si verificano problemi durante il provisioning automatico di Mac, esaminare i log dell'IDE di Visual Studio 2022 archiviati in %LOCALAPPDATA%\Xamarin\Logs\17.0. Questi log possono contenere messaggi di errore che consentono di diagnosticare meglio l'errore o di richiedere assistenza.

Compilare app iOS dalla riga di comando di Windows

Associa a Mac supporta la compilazione di app MAUI .NET dalla riga di comando. Passare alla cartella che contiene l'origine dell'app .NET MAUI iOS ed eseguire il comando seguente:

dotnet build -f net8.0-ios -p:ServerAddress={macOS build host IP address} -p:ServerUser={macOS username} -p:ServerPassword={macOS password} -p:TcpPort=58181 -p:_DotNetRootRemoteDirectory=/Users/{macOS username}/Library/Caches/Xamarin/XMA/SDKs/dotnet/

I parametri passati a dotnet nell'esempio precedente sono:

  • ServerAddress : indirizzo IP dell'host di compilazione Mac.
  • ServerUser : nome utente da usare per l'accesso all'host di compilazione Mac. Usare il nome utente di sistema anziché nome e cognome.
  • ServerPassword : password da usare per l'accesso all'host di compilazione Mac.
  • _DotNetRootRemoteDirectory : cartella nell'host di compilazione Mac che contiene .NET SDK.

La prima volta che Associa a Mac accede a un host di compilazione Mac da Visual Studio 2022 o dalla riga di comando, configura le chiavi SSH. Con queste chiavi, gli account di accesso futuri non richiederanno un nome utente o una password. Le chiavi appena create vengono archiviate in %LOCALAPPDATA%\Xamarin\MonoTouch.

Se il parametro ServerPassword viene omesso da una chiamata di compilazione dalla riga di comando, Associa a Mac tenta di accedere all'host di compilazione Mac usando le chiavi SSH salvate.

Per altre informazioni sulla creazione di app iOS dalla riga di comando di Windows, vedere Pubblicare un'app iOS usando la riga di comando.