Pairing mit Mac für iOS-Entwicklung
Die Erstellung nativer iOS-Apps mit .NET Multiplatform App UI (.NET MAUI) erfordert den Zugriff auf die Build-Tools von Apple, die nur auf einem Mac laufen. Aus diesem Grund muss Visual Studio 2022 eine Verbindung zu einem Mac mit Netzwerkzugriff herstellen, um .NET MAUI iOS-Apps zu erstellen.
Die Funktion „Pair to Mac“ von Visual Studio 2022 erkennt Mac-Build-Hosts, stellt eine Verbindung zu ihnen her, authentifiziert sich bei ihnen und speichert sie, sodass Sie unter Windows produktiv arbeiten können.
Das Feature „Mit Mac koppeln“ ermöglicht den folgenden Entwicklungsworkflow:
- Sie können .NET MAUI iOS-Code in Visual Studio 2022 schreiben.
- Visual Studio 2019 stellt eine Netzwerkverbindung mit einem Mac-Buildhost her und verwendet die Buildtools auf diesem Computer, um die iOS-App zu kompilieren und zu signieren.
- Auf dem Mac muss keine separate App ausgeführt werden, da Visual Studio 2019 die Mac-Builds über eine sichere SSH-Verbindung aufruft.
- Visual Studio 2019 wird unmittelbar über Änderungen informiert. Wenn zum Beispiel ein iOS-Gerät an den Mac angeschlossen wird oder im Netzwerk verfügbar ist, wird die iOS-Symbolleiste sofort aktualisiert.
- Mehrere Instanzen von Visual Studio 2019 können gleichzeitig eine Verbindung mit dem Mac herstellen.
- Die Windows-Befehlszeile kann zur Erstellung von iOS-Apps verwendet werden.
Hinweis
Bevor Sie die Anweisungen in diesem Artikel befolgen, installieren Sie Xcode auf einem Mac . Nach der Installation müssen Sie Xcode manuell öffnen, damit sie weitere Komponenten hinzufügen können. Sie sollten auch Mono installieren. Wenn Sie über einen Mac-Computer mit Apple Silicon verfügen, stellen Sie außerdem sicher, dass Rosetta installiert ist.
Visual Studio 2022 konfiguriert automatisch den Mac-Buildhost. Sie müssen Xcode jedoch weiterhin installieren und ausführen und Mono installieren.
Aktivieren der Remoteanmeldung auf dem Mac
Aktivieren Sie zur Einrichtung des Mac-Buildhosts zunächst die Remoteanmeldung:
Auf dem Mac öffnen Sie Systemeinstellungen und gehen Sie zum Bereich Freigabe.
Aktivieren Sie Remote-Anmeldung in der erweiterten -Liste.
Klicken Sie auf i neben der Einstellung "Remoteanmeldung", um weitere Einstellungen zu konfigurieren:
Aktivieren Sie den Volldatenträgerzugriff für Remotebenutzer.
Stellen Sie sicher, dass die Remoteanmeldung so eingerichtet ist, dass der Zugriff für alle Benutzermöglich ist, oder dass Ihr Mac-Benutzername oder Ihre Benutzergruppe in der Liste der zulässigen Benutzer enthalten ist.
Konfigurieren Sie die macOS-Firewall, wenn Sie dazu aufgefordert werden. Falls Sie Ihre macOS-Firewall so konfiguriert haben, dass eingehende Verbindungen blockiert werden, sollten Sie für
mono-sgen
den Empfang eingehender Verbindungen zulassen. Wenn dies der Fall ist, werden Sie durch eine Warnmeldung darauf hingewiesen.Ihr Mac sollte nun von Visual Studio 2019 erkannt werden, wenn dieser sich in demselben Netzwerk wie der Windows-Computer befindet. Wenn der Mac immer noch nicht erkannt wird, versuchen Sie, manuell einen Mac hinzuzufügen.
Verbinden mit dem Mac aus Visual Studio 2022
Nachdem Sie die Remoteanmeldung auf dem Mac aktiviert haben, verbinden Sie Visual Studio 2022 mit dem Mac:
Öffnen Sie in Visual Studio 2022 ein bestehendes .NET MAUI-Projekt oder erstellen Sie ein neues.
Öffnen Sie das Dialogfeld Mit Mac koppeln mit der Schaltfläche Mit Mac koppeln in der iOS-Menüleiste.
Alternativ können Sie auch Tools > iOS > Mit Mac koppeln wählen.
Das Dialogfeld Mit Mac koppeln zeigt eine Liste aller zuvor verbundenen und derzeit verfügbaren Mac-Build-Hosts an:
Wählen Sie in der Liste einen Mac aus, und wählen Sie Verbinden aus.
Geben Sie Ihren Benutzernamen und Ihr Kennwort ein. Beim erstmaligen Herstellen einer Verbindung mit einem Mac werden Sie aufgefordert, Ihren Benutzernamen und Ihr Kennwort für diesen Computer einzugeben:
Tipp
Verwenden Sie bei der Anmeldung Ihren Systembenutzernamen anstelle des vollständigen Namens.
Die Anmeldeinformationen werden vom Feature „Mit Mac koppeln“ verwendet, um eine neue SSH-Verbindung mit dem Mac herzustellen. Wenn dieser Vorgang erfolgreich ist, wird der Datei authorized_keys auf dem Mac ein Schlüssel hinzugefügt. Bei allen weiteren Verbindungen mit demselben Mac wird die Anmeldung automatisch vorgenommen.
Das Feature „Mit Mac koppeln“ konfiguriert den Mac automatisch. Visual Studio 2022 installiert oder aktualisiert die Voraussetzungen bei Bedarf auf einem verbundenen Mac-Buildhost. Xcode muss jedoch weiterhin manuell installiert werden.
Überprüfen Sie das Verbindungsstatussymbol. Wenn Visual Studio 2022 mit einem Mac verbunden ist, zeigt das Element dieses Macs im Dialogfeld Mac koppeln ein Symbol an, das anzeigt, dass er gerade verbunden ist:
Es kann immer nur ein Mac gleichzeitig verbunden sein.
Tipp
Wenn Sie mit der rechten Maustaste auf einen Mac in der Liste Mit Mac koppeln klicken, wird ein Kontextmenü angezeigt, in dem Sie die Aktion Verbinden..., Diesen Mac vergessen oder Verbindung trennen ausführen können.
Falls Sie auf Diesen Mac vergessen klicken, werden die Anmeldeinformationen für den ausgewählten Mac verworfen. Wenn Sie erneut eine Verbindung mit diesem Mac herstellen möchten, müssen Sie Ihren Benutzernamen und Ihr Kennwort erneut eingeben.
Wenn Sie erfolgreich eine Verbindung zu einem Mac-Build-Host hergestellt haben, können Sie nun .NET MAUI iOS-Apps in Visual Studio 2022 erstellen. Weitere Informationen finden Sie unter Erstellen Sie Ihre erste App.
Wenn Sie keinen Mac koppeln konnten, versuchen Sie, manuell einen Mac hinzuzufügen.
Manuelles Hinzufügen eines Macs
Wenn ein bestimmter Mac nicht im Dialogfeld Mit Mac koppeln aufgeführt wird, können Sie diesen manuell hinzufügen:
Öffnen Sie Systemeinstellungen > Freigabe > Fernanmeldung auf Ihrem Mac, um die IP-Adresse Ihres Macs zu ermitteln:
Alternativ können Sie auch die Befehlszeile verwenden. Geben Sie im Terminal den folgenden Befehl ein:
ipconfig getifaddr en0
Je nach Ihrer Netzwerkkonfiguration müssen Sie möglicherweise einen anderen Schnittstellennamen als
en0
verwenden, wie etwaen1
oderen2
.Wählen Sie im Dialogfeld Mit Mac koppeln von Visual Studio 2022 die Option Mac hinzufügen … aus:
Geben Sie die IP-Adresse des Macs ein und wählen Sie Hinzufügen aus:
Geben Sie Ihren Benutzernamen und Ihr Kennwort für den Mac ein:
Tipp
Verwenden Sie bei der Anmeldung Ihren Systembenutzernamen anstelle des vollständigen Namens.
Wählen Sie Anmelden aus, um Visual Studio 2022 über SSH mit dem Mac zu verbinden und ihn zur Liste der bekannten Rechner hinzuzufügen.
Aktivieren der automatischen Verbindung mit bekannten Macs
Standardmäßig wird beim Start von Visual Studio keine Verbindung mit zuvor gekoppelten Macs hergestellt. Die automatische Verbindung zu bekannten Macs kann jedoch in Visual Studio aktiviert werden, indem Sie zu Tools > Optionen > Xamarin > iOS-Einstellungen navigieren und sicherstellen, dass Automatische Verbindung zu bekannten Macs aktivieren markiert ist:
Nach dem Neustart von Visual Studio wird bei jedem Start automatisch eine Verbindung mit bekannten Macs hergestellt.
Automatische Bereitstellung eines Macs
Koppeln mit Mac stellt automatisch einen Mac mit der Software bereit, die zum Erstellen von .NET MAUI iOS-Apps erforderlich ist. Dazu gehören .NET und verschiedene Xcode-bezogene Tools (aber nicht Xcode selbst).
Wichtig
- Koppeln mit Mac kann Xcode nicht installieren. Sie müssen es manuell auf dem Mac-Buildhost installieren. Es ist für die .NET MAUI iOS-Entwicklung erforderlich.
- Für die automatische Bereitstellung eines Macs muss die Remoteanmeldung auf dem Mac aktiviert sein. Außerdem muss ein Windows-Computer über ein Netzwerk auf den Mac zugreifen können.
- Die automatische Mac-Bereitstellung erfordert ausreichend freien Speicherplatz auf dem Mac, um .NET zu installieren.
Darüber hinaus führt Pair to Mac die erforderlichen Softwareinstallationen und -aktualisierungen auf dem Mac durch, wenn Visual Studio 2022 mit diesem verbunden wird.
Xcode-Tools und -Lizenz
Das Feature „Mit Mac koppeln“ überprüft auch, ob Xcode installiert wurde und Sie der Lizenz zugestimmt haben. Pair to Mac installiert Xcode zwar nicht, fordert aber zur Annahme der Lizenz auf.
Zusätzlich installiert oder aktualisiert das Feature „Mit Mac koppeln“ verschiedene Pakete, die mit Xcode verteilt werden. Die Installation dieser Pakete erfolgt schnell, und es wird keine Eingabeaufforderung angezeigt.
Problembehandlung bei der automatischen Bereitstellung eines Macs
Wenn Sie Probleme mit der automatischen Mac-Bereitstellung haben, werfen Sie einen Blick in die Visual Studio 2022 IDE-Protokolle, die in %LOCALAPPDATA%\Xamarin\Logs\17.0 gespeichert sind. Diese Protokolle enthalten möglicherweise Fehlermeldungen, die Sie zur effizienteren Diagnose des Fehlers oder für Supportanfragen verwenden können.
Erstellen von iOS-Apps über die Windows-Befehlszeile
Mit Mac koppeln unterstützt die Erstellung von .NET MAUI-Apps über die Befehlszeile. Navigieren Sie zu dem Ordner, der den Quellcode Ihrer .NET MAUI iOS-App enthält, und führen Sie den folgenden Befehl aus:
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/
Die im obigen Beispiel an dotnet
übergebenen Parameter sind:
-
ServerAddress
– die IP-Adresse des Mac-Buildhosts. -
ServerUser
– der Benutzername, der zur Anmeldung bei dem Mac-Buildhost verwendet wird. Verwenden Sie Ihren Systembenutzernamen anstelle des vollständigen Namens. -
ServerPassword
– das Kennwort, das zur Anmeldung bei dem Mac-Buildhost verwendet wird. -
_DotNetRootRemoteDirectory
– der Ordner auf dem Mac-Buildhost, der das .NET SDK enthält.
Wenn sich das Feature „Mit Mac koppeln“ zum ersten Mal über Visual Studio 2022 oder über die Befehlszeile bei einem Mac-Buildhost anmeldet, werden SSH-Schlüssel eingerichtet. Durch die Verwendung dieser Schlüssel entfällt bei weiteren Anmeldungen die Angabe des Benutzernamens oder des Kennworts. Neu erstellte Schlüssel werden unter %LOCALAPPDATA%\Xamarin\MonoTouch gespeichert.
Wenn der ServerPassword
-Parameter bei einem Buildaufruf über die Befehlszeile nicht angegeben wird, versucht das Feature „Mit Mac koppeln“, sich mithilfe der gespeicherten SSH-Schlüssel bei dem Mac-Buildhost anzumelden.
Weitere Informationen zum Erstellen von iOS-Apps über die Windows-Befehlszeile finden Sie unter Veröffentlichen einer iOS-App mithilfe der Befehlszeile.