Durchführen einer Kopplung mit einem Mac für die iOS-Entwicklung

Die Erstellung nativer iOS-Anwendungen 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-Anwendungen zu erstellen.

Die Funktion „Mit Mac koppeln“ 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 2022 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 Anwendung ausgeführt werden, da Visual Studio 2022 die Mac-Builds über eine sichere SSH-Verbindung aufruft.
  • Visual Studio 2022 wird unmittelbar über Änderungen informiert. Wenn beispielsweise ein iOS-Gerät an den Mac angeschlossen oder ein Gerät im Netzwerk verfügbar wird, wird die iOS-Symbolleiste sofort aktualisiert.
  • Mehrere Instanzen von Visual Studio 2022 können gleichzeitig eine Verbindung mit dem Mac herstellen.
  • Die Windows-Befehlszeile kann zur Erstellung von iOS-Anwendungen verwendet werden.

Hinweis

Installieren Sie Xcode auf einem Mac, bevor Sie den Anweisungen in diesem Artikel folgen. Nach der Installation müssen Sie Xcode manuell öffnen, damit sie weitere Komponenten hinzufügen können. Darüber hinaus sollten Sie entweder das neueste Visual Studio 2022 für Mac oder Mono installieren. Wenn Sie über einen Mac-Computer mit Apple Silicon verfügen, stellen Sie außerdem sicher, dass Rosetta installiert ist.

Wenn Sie es vorziehen, Visual Studio 2022 für Mac nicht zu installieren, kann Visual Studio 2022 den Mac-Build-Host automatisch konfigurieren. 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:

  1. Auf dem Mac öffnen Sie Systemeinstellungen und gehen Sie zum Bereich Freigabe.

  2. Aktivieren Sie in der Liste Dienst das Kontrollkästchen Entfernte Anmeldung.

    Enabling remote login.

    Vergewissern Sie sich, dass es so konfiguriert ist, dass der Zugriff für Alle Benutzer erlaubt ist, oder dass Ihr Mac-Benutzername oder Ihre Gruppe in der Liste der erlaubten Benutzer enthalten ist.

  3. 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. Eine Warnung wird angezeigt, um Sie ggf. aufzufordern.

  4. Ihr Mac sollte nun von Visual Studio 2022 erkannt werden, wenn dieser sich in demselben Netzwerk wie der Windows-Computer befindet. Wenn der Mac immer noch nicht auffindbar ist, versuchen Sie, einen Mac manuell hinzuzufügen.

Verbinden mit dem Mac aus Visual Studio 2022

Nachdem Sie die Remote-Anmeldung auf dem Mac aktiviert haben, verbinden Sie Visual Studio 2022 mit dem Mac:

  1. Öffnen Sie in Visual Studio 2022 ein bestehendes .NET MAUI-Projekt oder erstellen Sie ein neues.

  2. Öffnen Sie das Dialogfeld Koppeln mit Mac über die Schaltfläche Koppeln mit Mac in der iOS-Symbolleiste:

    The iOS toolbar, with the Pair to Mac button highlighted.

    Alternativ können Sie Tools > iOS > Koppeln mit Mac auswählen.

    Im Dialogfeld Mit Mac koppeln wird eine Liste aller zuvor verbundenen und zurzeit verfügbaren Mac-Buildhosts angezeigt:

    The Pair to Mac dialog.

  3. Wählen Sie in der Liste einen Mac aus, und wählen Sie Verbinden aus.

  4. 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:

    Entering a username and password for the Mac.

    Tipp

    Verwenden Sie beim Einloggen Ihren System-Benutzernamen.

    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.

  5. 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.

  6. Überprüfen Sie das Verbindungsstatussymbol. Wenn Visual Studio 2019 mit einem Mac verbunden wird, wird für das Mac-Element im Dialogfeld Mit Mac koppeln ein Symbol angezeigt, das darauf hinweist, dass aktuell eine Verbindung besteht:

    A connected Mac.

    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.

    The Pair to Mac context menus.

    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-Anwendungen in Visual Studio 2022 erstellen. Weitere Informationen finden Sie unter Ihre erste App erstellen.

Wenn Sie keinen Mac koppeln konnten, versuchen Sie , einen Mac manuell 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:

  1. Öffen Sie Systemeinstellung>Gemeinsame>Remoteanmeldung auf Ihrem Mac, um die IP-Adresse Ihres Macs zu ermitteln

    The Mac's IP address in System Preferences > Sharing.

    Alternativ können Sie auch die Befehlszeile verwenden. Führen Sie folgenden Befehl im Terminal aus:

    ipconfig getifaddr en0
    

    Abhängig von Ihrer Netzwerkkonfiguration müssen Sie möglicher weise eine andeeSchnittstelle vewerden als en0, z. B. en1 oder en2.

  2. Klicken Sie in Visual Studio 2019 im Dialogfeld Mit Mac koppeln auf Mac hinzufügen...:

    The Add Mac button in the Pair to Mac dialog.

  3. Geben Sie die IP-Adresse des Macs ein, und klicken Sie anschließend auf Hinzufügen:

    Entering the Mac's IP address.

  4. Geben Sie Ihren Benutzernamen und Ihr Kennwort für den Mac ein:

    Enter a username and password.

    Tipp

    Verwenden Sie beim Einloggen Ihren System-Benutzernamen.

  5. Klicken Sie auf Anmelden, um Visual Studio 2019 über SSH mit dem Mac zu verbinden und den Mac der Liste der bekannten Computer 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 mit bekannten Macs kann jedoch in Visual Studio aktiviert werden, indem Sie zu tools > Options > Xamarin > iOS Einstellungen navigieren und sicherstellen, dass die automatische Verbindung zu bekannten Macs aktiviert ist:

Enable auto connection to known Macs in Visual Studio.

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-Rechner 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 Koppeln zu 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. Bei der Kopplung mit Mac wird Xcode zwar nicht installiert, aber es wird eine Lizenzabfrage durchgeführt.

Darüber hinaus installiert oder aktualisiert das Koppeln mit Mac 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 bei der automatischen Bereitstellung eines Macs Probleme auftreten, können Sie sich die Protokolle der Visual Studio 2019-IDE ansehen, gespeichert %LOCALAPPDATA%\Xamarin\Logs\17.0. 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

Das Koppeln mit Mac unterstützt die Erstellung von .NET MAUI-Anwendungen über die Befehlszeile. Navigieren Sie zu dem Ordner, der die Quelle 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-Rechners.
  • ServerUser - der Benutzername, der zur Anmeldung bei dem Mac-Rechner verwendet wird. Verwenden Sie Ihren Systembenutzernamen anstelle des vollständigen Namens.
  • ServerPassword - das Kennwort, das zur Anmeldung bei dem Mac-Rechner verwendet wird.
  • _DotNetRootRemoteDirectory – der Ordner auf dem Mac-Rechner, der das .NET SDK enthält.

Wenn sich Koppeln zu Mac das erste Mal über Visual Studio 2022 oder die Befehlszeile bei einem Mac-Rechner 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.