Die Installation funktioniert, aber die Agent-Aufgabe scheitert bei der echten Abnahme des iOS-Projekts oder blockiert Ihren Arbeits-Mac über Stunden.
Die schnellste Lösung: Für seltene Einzelaufgaben starten Sie OpenHands lokal; bei Dauerbetrieb, mehreren Agenten, Fernzugriff oder produktionsnahen Zugangsdaten verlagern Sie die Umgebung auf einen getrennten Cloud-Mac. Apple-Projekte müssen anschließend auf einem tatsächlich verfügbaren macOS-System mit Xcode, Simulator und gegebenenfalls Signierung geprüft werden.
Für wen diese Entscheidung wichtig ist
Dieser Artikel richtet sich an Sie, wenn Sie OpenHands mit möglichst wenig Aufwand ausprobieren möchten, aber nicht wissen, ob Ihr persönlicher Mac für einen dauerhaften Betrieb geeignet ist.
Er ist ebenso für Plattformingenieure und kleine Entwicklungsteams gedacht, die eine einheitliche Agent-Umgebung bereitstellen wollen, sowie für Teams, deren OpenHands iOS- oder macOS-Projekte nicht nur verändern, sondern auch bauen und testen soll.
Die entscheidende Unterscheidung: Agent-Runtime und Apple-Abnahme sind nicht dasselbe
OpenHands kann auf macOS mit Docker Desktop betrieben werden. Die offizielle lokale Einrichtung setzt Docker voraus; für den lokalen Start wird unter anderem ein moderner Prozessor empfohlen, und die Dokumentation nennt mindestens 4 GB Arbeitsspeicher als empfohlene Untergrenze für OpenHands. Der openhands serve-Start stellt die Weboberfläche lokal bereit und verwendet standardmäßig den Docker-Sandbox-Ansatz. Die offizielle Installationsanleitung von OpenHands beschreibt diese Voraussetzungen und Startwege.
Das bedeutet jedoch nicht, dass der Agent automatisch in einer vollständigen Apple-Entwicklungsumgebung arbeitet. Die Docker Runtime ist eine Linux-basierte Ausführungsumgebung. Sie eignet sich für Shell-Befehle, Python, Node.js, Tests, Paketverwaltung und viele allgemeine Programmieraufgaben. Xcode, iOS-Simulatoren, macOS-SDKs, Gerätekopplung und Apple-Code-Signing gehören dagegen zur macOS-Hostumgebung und müssen gesondert verfügbar und getestet sein.
Für die Entscheidung sollten Sie daher zwei Ebenen trennen:
- Ändert OpenHands den Quellcode korrekt?
- Kann dieselbe Umgebung anschließend den Apple-Build, den Simulatorlauf und die Signierungsprüfung durchführen?
Bei einem reinen Swift-Quelltext-Review kann die erste Ebene ausreichen. Sobald Sie ein Xcode-Projekt wirklich akzeptieren, archivieren oder auf einem Simulator beziehungsweise physischen Gerät prüfen müssen, ist die zweite Ebene zwingend.
Apple weist selbst darauf hin, dass Simulatoren nicht alle Eigenschaften und Leistungsmerkmale physischer Geräte abbilden. Für eine belastbare Prüfung kann deshalb zusätzlich ein reales Gerät erforderlich sein. Apples Dokumentation zum Ausführen auf simulierten und physischen Geräten erklärt diese Abgrenzung.
OpenHands-Selbsthosting auf dem Mac: Wann der lokale Rechner genügt
Ein lokaler Mac ist für OpenHands sinnvoll, wenn die Aufgabe selten gestartet wird, Sie den Rechner während der Ausführung beobachten können und das Repository keine produktionsnahen Geheimnisse enthält. Für einen einzelnen Entwickler ist das häufig der kostengünstigste und technisch schnellste Einstieg, weil keine zusätzliche Fernzugriffsschicht, Benutzerverwaltung oder dauerhafte Erreichbarkeit eingerichtet werden muss.
Die lokalen Vorteile sind konkret:
- Docker-Images und Abhängigkeiten können nach dem ersten Abruf wiederverwendet werden.
- Das Repository liegt bereits auf dem Rechner und muss nicht zusätzlich übertragen werden.
- Fehler lassen sich direkt über Docker Desktop, Terminal und lokale Logs untersuchen.
- Für kurze Experimente ist keine getrennte Betriebsumgebung nötig.
- Xcode kann außerhalb der Docker Runtime auf demselben Mac für die Abnahme genutzt werden.
Die Einschränkungen werden sichtbar, sobald OpenHands nicht nur gelegentlich läuft:
- Docker Desktop, der Agent-Prozess und die zugehörigen Container konkurrieren mit Ihrer Entwicklungsumgebung um Rechenzeit, Arbeitsspeicher, Festplattenzugriffe und Netzwerkbandbreite.
- Ein Neustart, ein macOS-Update, ein geschlossener Laptopdeckel oder ein Wechsel des WLANs kann einen laufenden Agent-Auftrag unterbrechen.
- Ein lokal gemountetes Arbeitsverzeichnis ist nicht bloß eine Kopie: Bei Schreibzugriff kann der Agent Dateien ändern oder löschen. Die OpenHands-Dokumentation weist ausdrücklich darauf hin, dass schreibbar eingehängte Verzeichnisse vom Agenten verändert werden können. Die Hinweise zur Docker Sandbox und zu Volume-Mounts sind vor jedem Test mit einem wichtigen Repository zu prüfen.
- Wenn Sie denselben Rechner gleichzeitig für Xcode, Meetings, Browser, lokale Datenbanken und OpenHands verwenden, ist ein Ressourcenfehler nicht nur ein Komfortproblem. Er kann Builds verlängern, Tests abbrechen oder den Entwicklungsfluss unterbrechen.
Ein lokaler Start ist daher weiterhin vernünftig, wenn Sie nur einen Agenten verwenden, die Laufzeit nicht dauerhaft garantieren müssen und die Arbeitskopie reproduzierbar aus Git wiederhergestellt werden kann. Für ein ständig verfügbares Teamwerkzeug ist der persönliche Arbeits-Mac dagegen die falsche Betriebsgrenze.
OpenHands kann auf einem Mac laufen, aber Docker ersetzt kein macOS
Die häufige Annahme „OpenHands läuft auf dem Mac, also kann OpenHands auch Xcode ausführen“ führt zu einer falschen Architektur. OpenHands läuft lokal auf macOS, aber der Agent arbeitet standardmäßig in einer Docker-Sandbox. Der Code liegt je nach Konfiguration in einem gemounteten Verzeichnis, während Befehle innerhalb des Containers ausgeführt werden.
Die offizielle Runtime-Architektur beschreibt OpenHands als Client-Server-Modell: Der Backend-Prozess kommuniziert mit einem Ausführungsserver im Container, der Shell-Befehle, Dateioperationen und weitere Aktionen verarbeitet. Die OpenHands-Dokumentation zur Runtime-Architektur erklärt außerdem die Verwendung von Runtime-Images, Volume-Mounts, Ports und wiederverwendbaren Image-Tags.
Für Apple-Projekte ergeben sich daraus drei verschiedene Fälle:
Nur Quelltext bearbeiten
Wenn OpenHands Swift-Dateien, Konfigurationsdateien oder Dokumentation ändern soll, kann eine generische Runtime ausreichend sein. Die syntaktische Prüfung und ein Teil der Logiktests können außerhalb von Xcode funktionieren, sofern die benötigten Werkzeuge im Image vorhanden sind.
Build und Unit-Tests ausführen
Hier müssen Sie prüfen, ob der Build tatsächlich in Xcode oder mit den passenden Apple-Kommandozeilenwerkzeugen auf macOS ausgeführt wird. Ein erfolgreicher Lauf eines generischen Testbefehls im Container beweist nicht, dass das Xcode-Projekt mit seinem SDK, seinen Build-Phasen und seinen Signing-Einstellungen funktioniert.
Archivieren, signieren und auf Geräten testen
Für ein Release oder eine realistische Abnahme brauchen Sie die passende Xcode-Version, ein kompatibles macOS, die erforderlichen SDKs, Zertifikate, Provisioning-Profile und gegebenenfalls ein gekoppeltes Gerät. Apples aktuelle Übersicht zu Xcode-System- und SDK-Anforderungen zeigt, dass Xcode-Version, macOS-Version, SDKs, Simulatoren und unterstützte Deployment-Ziele zusammenpassen müssen. Die konkrete Verfügbarkeit eines bestimmten Werkzeugs darf deshalb nicht aus der OpenHands-Installation abgeleitet werden.
Docker Runtime: Isolation ist hilfreich, aber keine vollständige Sicherheitsgrenze
Die Docker Runtime reduziert das Risiko, dass beliebige Agent-Befehle unmittelbar in Ihrer Hostumgebung ausgeführt werden. OpenHands nennt als Gründe für die Sandbox unter anderem Isolation, Reproduzierbarkeit und eine bessere Kontrolle der Ausführungsumgebung. Das ist eine wichtige Schutzschicht, aber kein Freibrief für unbeschränkte Zugriffe.
Besonders kritisch sind vier Konfigurationsbereiche.
Eingehängte Verzeichnisse
Ein Read-Write-Mount gibt dem Agenten Schreibrechte auf den entsprechenden Pfad. Sie sollten deshalb nicht das gesamte Benutzerverzeichnis, keine SSH-Konfiguration und keine Verzeichnisse mit privaten Schlüsseln einhängen. Für die erste Prüfung eignet sich eine frische Arbeitskopie mit begrenztem Umfang besser als das produktive Hauptrepository.
Docker Socket
Die offiziellen Docker-Startbeispiele binden den Docker Socket ein, damit OpenHands Runtime-Container starten kann. Dieser Socket ist ein privilegierter Steuerkanal für Docker. Wer ihn in eine Anwendung einbindet, muss ihn als sicherheitsrelevante Berechtigung behandeln, nicht als gewöhnliche Datei. Die OpenHands-FAQ nennt die Sandbox als Schutzmaßnahme, weist aber ebenso auf Konfigurationsrisiken, Netzwerkzugriffe, Zugangsdaten und gemountete Dateien hin. Die OpenHands-FAQ zu Sicherheit und Agent-Aktionen sollte Bestandteil Ihrer Freigabeprüfung sein.
Netzwerkzugriff
Ein Agent kann aus dem Container heraus externe Dienste erreichen. Das ist für Paketinstallation, Git-Operationen und API-Aufrufe praktisch, erhöht aber die Angriffs- und Datenabflussfläche. Beschränken Sie daher ausgehende Verbindungen, wenn Ihr Anwendungsfall das erlaubt, und verwenden Sie für Experimente keine Tokens mit unnötig weitreichenden Rechten.
Zugangsdaten und Secrets
API-Schlüssel, GitHub-Tokens, SSH-Schlüssel und Cloud-Zugangsdaten müssen getrennt behandelt werden. Ein Cloud-Mac mit einem eigenen Benutzerkonto und einer begrenzten Secret-Auswahl kann den Schaden eines Fehlers räumlich und organisatorisch begrenzen. Er ist aber nur dann besser, wenn die Umgebung tatsächlich getrennt konfiguriert wird. Ein schlecht abgesicherter Remote-Host mit denselben Produktionsschlüsseln ist keine Verbesserung gegenüber einem lokalen Mac.
Für Teams, die personenbezogene Daten oder interne Quelltexte verarbeiten, sollte zusätzlich eine dokumentierte DSGVO- und Datenschutzprüfung von SSHMac erfolgen. Entscheidend sind Datenfluss, Aufbewahrung, Zugriffsrechte und die Frage, welche Informationen an das verwendete Sprachmodell übertragen werden.
Mehrere Agenten erzeugen nicht automatisch mehr Durchsatz
OpenHands kann Werkzeuge parallel ausführen, aber parallele Operationen sind nicht in jedem Fall sicher. Die offizielle SDK-Dokumentation nennt für parallele Tool-Ausführung standardmäßig eine sequenzielle Ausführung mit tool_concurrency_limit = 1; höhere Werte können bei unabhängigen Operationen helfen, bergen jedoch Race Conditions und Ressourcenerschöpfung. Die Dokumentation zur parallelen Tool-Ausführung beschreibt diese Einschränkung ausdrücklich.
In der Praxis entstehen Konflikte an mehreren Stellen:
- Zwei Agenten schreiben in dieselbe Arbeitskopie.
- Ein Projekt verwendet denselben lokalen Port wie ein anderes.
- Paketmanager sperren Cache- oder Lock-Dateien.
- Testdatenbanken und Hintergrunddienste teilen sich Zustände.
- Ein Agent verändert eine Konfiguration, während ein zweiter Agent sie bereits verwendet.
- Mehrere Container erzeugen konkurrierenden Festplatten- und Netzwerkzugriff.
Für einen einzelnen Entwickler bedeutet das: mehrere unabhängige Aufgaben besser in getrennten Arbeitskopien und mit klaren Laufzeitgrenzen starten. Für ein kleines Team ist ein eigener lokaler Mac als Agent-Rechner sinnvoller als der gemeinsame Arbeitsrechner. Für eine Plattform mit mehreren Nutzern sollten Sie pro Aufgabe oder Projekt isolierte Workspaces, nachvollziehbare Logs, Zugriffskontrolle und eine definierte Bereinigung einplanen.
Ein Cloud-Mac bietet dabei nicht automatisch unbegrenzte Parallelität. Er verschiebt die Betriebsgrenze. Sie müssen weiterhin Ports, Container, Arbeitsverzeichnisse, Benutzerrechte und Auftragswarteschlangen verwalten. Der Unterschied ist, dass die Agent-Last nicht mehr den persönlichen Entwicklungsrechner blockiert und der Zugriff über SSH, einen gesicherten Webdienst oder eine interne Verwaltungsoberfläche erfolgen kann.
Abhängigkeiten und Runtime-Images sollten vor dem Dauerbetrieb standardisiert werden
Ein typischer Fehler ist, nur den erfolgreichen ersten Start zu bewerten. OpenHands kann ein benutzerdefiniertes Basis-Image verwenden, zusätzliche Pakete beim Aufbau der Runtime installieren und Images anhand von Versions-, Lock- und Quellcode-Tags wiederverwenden. Dadurch können spätere Starts und Wiederaufbauten schneller und reproduzierbarer werden, wenn die Eingaben unverändert bleiben. Die offizielle Anleitung für benutzerdefinierte Sandboxes beschreibt Basis-Images, zusätzliche Abhängigkeiten und Plattformangaben.
Für eine belastbare Umgebung gehen Sie in dieser Reihenfolge vor:
- Repository isolieren: Erstellen Sie eine frische Arbeitskopie und entfernen Sie nicht benötigte Secrets aus der Umgebung.
- OpenHands starten: Nutzen Sie den dokumentierten lokalen Startweg und prüfen Sie, ob Docker Desktop läuft, der Docker Socket erreichbar ist und der vorgesehene Port frei ist. Die offizielle GUI-Dokumentation verwendet für den lokalen Dienst Port 3000. Die Beschreibung des GUI-Servers nennt außerdem den ungefähren Speicherbedarf der Docker-Images von etwa 2 GB.
- Runtime definieren: Legen Sie die benötigten Sprachen, Paketmanager, Systembibliotheken und Testwerkzeuge in einem eigenen Image fest, statt sie bei jedem Agent-Auftrag spontan zu installieren.
- Mounts begrenzen: Binden Sie nur das erforderliche Repository ein, bevorzugt zunächst mit möglichst restriktiven Rechten. Prüfen Sie, ob Overlay- oder Copy-on-Write-Verfahren für Ihre Arbeitsweise geeignet sind.
- Einen echten Auftrag ausführen: Lassen Sie OpenHands nicht nur eine Datei ändern, sondern Branch erstellen, Tests starten, Fehler protokollieren und die Änderung nachvollziehbar abschließen.
- Apple-Abnahme separat testen: Führen Sie anschließend Build, Simulatorlauf, Archivierung und gegebenenfalls Signierung auf dem vorgesehenen macOS-System aus.
- Wiederanlauf prüfen: Stoppen Sie die Umgebung, starten Sie sie erneut und kontrollieren Sie, ob Image, Cache, Konfiguration, Logs und Arbeitskopie reproduzierbar verfügbar sind.
- Betriebsgrenze dokumentieren: Halten Sie fest, wer Docker aktualisiert, wer Runtime-Images pflegt, wer Tokens rotieren darf und wie ein fehlgeschlagener Agent-Auftrag bereinigt wird.
Lokal ist die Wiederverwendung von Images und Caches bequem. Ein entfernter Mac kann dagegen eine standardisierte Umgebung für mehrere Nutzer bereitstellen. Der Nachteil sind zusätzliche Aufgaben für Netzwerk, Fernzugriff, Benutzerverwaltung, Backups und Monitoring. Die bessere Wahl hängt daher weniger vom ersten Installationsaufwand als von der Zahl der Wiederholungen ab.
OpenHands und Apple-Projekte brauchen eine zweistufige Abnahme
Wenn Ihr Ziel iOS- oder macOS-Entwicklung ist, sollte die Pipeline nicht mit „OpenHands hat den Code geändert“ enden. Definieren Sie zwei getrennte Akzeptanzkriterien:
Stufe A: Agent-Aufgabe
- Der Agent erhält nur das vorgesehene Repository.
- Die Änderung wird in einem eigenen Branch gespeichert.
- Tests und Linting laufen mit dokumentierten Befehlen.
- Alle Änderungen sind über Git nachvollziehbar.
- Keine unerwarteten Dateien oder Zugangsdaten landen im Commit.
Stufe B: Apple-Abnahme
- Das Projekt öffnet mit der vorgesehenen Xcode-Version.
- Abhängigkeiten werden vollständig aufgelöst.
- Der relevante Build läuft auf dem vorgesehenen macOS-System.
- Der Simulator startet mit dem passenden Zielgerät.
- Signierung und Provisioning werden nur mit speziell freigegebenen Zugangsdaten getestet.
- Bei einem Release wird zusätzlich ein Archiv erzeugt und der Export geprüft.
Für macOS-Apps kann die Ausführung auf „My Mac“ ohne dieselbe Gerätekonfiguration möglich sein; Apple weist jedoch darauf hin, dass bestimmte Capabilities weiterhin Provisioning erfordern können. Apples Dokumentation zu Build, Ausführung und Signierung liefert hierfür die maßgeblichen Grenzen.
Wenn Sie Xcode auf dem persönlichen Rechner verwenden, ist ein lokales Setup für seltene Aufgaben attraktiv. Wenn mehrere Entwickler dieselben Prüfungen benötigen, ist ein dauerhaft erreichbarer, getrennt verwalteter Cloud-Mac meist übersichtlicher. Für sensible Signierungsdaten sollten Sie dennoch keine allgemeine Agent-Umgebung mit uneingeschränktem Zugriff ausstatten.
Die Auswahl nach Einsatzprofil: lokale Umgebung, Cloud-Mac oder Hybridbetrieb
Die folgende Bewertung ist kein Leistungstest, sondern ein Entscheidungswerkzeug für die Betriebsform. Sie setzt voraus, dass der Cloud-Mac tatsächlich macOS und die benötigte Apple-Werkzeugkette bereitstellt. OpenHands selbst garantiert nicht automatisch, dass ein beliebiger Drittanbieter-Host mit Xcode oder Apple-Geräten kompatibel ist.
| Entscheidungsdimension | Lokaler Mac | Getrennter Cloud-Mac | Hybridbetrieb |
|---|---|---|---|
| Seltene Einzelaufgaben | Sehr gut; kein zusätzlicher Host nötig | Möglich, aber zusätzlicher Fernzugriff | Gut, wenn Apple-Abnahme getrennt bleibt |
| Dauerbetrieb | Schwach; Arbeitsrechner bleibt belegt | Gut; unabhängig vom persönlichen Rechner | Sehr gut bei klarer Aufgabenverteilung |
| Mehrere Nutzer | Nur mit zusätzlicher Organisation | Besser mit getrennten Workspaces und Konten | Gut für Agent-Aufgaben plus zentrale Abnahme |
| Docker Runtime | Schnell erreichbar, lokale Caches bequem | Standardisierbar und zentral wartbar | Allgemeine Aufgaben remote, Apple-Prüfung lokal oder remote |
| Xcode und Simulator | Direkt auf dem Mac verfügbar | Nur bei passender macOS-Umgebung und Lizenzierung | Beste Kontrolle, wenn Agent und Abnahme bewusst getrennt werden |
| Rechte und Secrets | Hohes Risiko bei unkontrollierten Mounts | Bessere Trennung möglich, aber Administrationsaufwand bleibt | Produktionszugänge können von Experimenten getrennt werden |
| Fernzugriff | Umständlich, wenn der Mac schläft oder offline ist | Für Teamzugriff geeignet | Geeignet für wechselnde Arbeitsorte |
| Wartung | Sie pflegen Docker, macOS und Images selbst | Sie pflegen zusätzlich Remote-Zugriff, Monitoring und Nutzerverwaltung | Höchster Planungsaufwand, aber klare Zuständigkeiten |
| Bewertung | 4/5 für Einzeltests | 4/5 für kontinuierliche Teamnutzung | 5/5 bei Apple-Abnahme und getrennten Agent-Aufgaben |
OpenHands-Selbsthosting auf dem Mac oder Cloud-Mac?
Für einen unabhängigen Entwickler mit niedriger Nutzung ist der lokale Mac die vernünftige erste Wahl. Sie vermeiden zusätzliche Infrastruktur und können Fehler direkt beheben. Sobald der Agent über Nacht, während Ihrer Abwesenheit oder für mehrere Projekte laufen soll, wird die lokale Bequemlichkeit zum Betriebsrisiko.
Ein kleines Team sollte nicht automatisch den privaten Arbeits-Mac eines Entwicklers zum gemeinsamen Server machen. Ein eigener lokaler Mac kann als kostengünstige Zwischenstufe funktionieren, sofern er dauerhaft eingeschaltet, sauber administriert und nicht gleichzeitig als persönlicher Entwicklungsrechner benötigt wird. Bei Fernzugriff, mehreren Benutzern oder produktionsnahen Repositories ist ein getrennter Cloud-Mac organisatorisch meist klarer.
Die Hybridlösung ist besonders sinnvoll für Apple-Teams: OpenHands bearbeitet allgemeine Aufgaben in einer reproduzierbaren Docker Runtime, während Build, Simulator, Archivierung und Signierung in einer kontrollierten macOS-Abnahmeumgebung erfolgen. So muss der Agent nicht automatisch Zugriff auf alle Apple-Zertifikate erhalten.
Wann SSHMac als temporäre Mac-Umgebung sinnvoll ist
Ein lokaler Mac hat bei seltenen Aufgaben klare Vorteile, aber Ihre aktuelle Umgebung kann trotzdem ungeeignet sein: Docker belegt den Entwicklungsrechner, der Laptop darf nicht dauerhaft online bleiben, mehrere Agenten benötigen getrennte Arbeitsbereiche oder ein Team braucht einen gemeinsamen Zugriffspunkt. Ein dauerhaft selbst gekaufter Mac wäre für ein kurzfristiges Experiment dann möglicherweise überdimensioniert.
In diesem Fall kann SSHMac als zeitlich begrenzte Mac-Umgebung für einen echten Repository-Test dienen. Der sinnvolle Ablauf ist nicht, sofort langfristig zu binden, sondern zuerst dieselbe Aufgabe zu prüfen: Repository auschecken, OpenHands starten, Runtime-Abhängigkeiten installieren, einen Agentenauftrag ausführen und anschließend die Apple-Abnahme mit der vorgesehenen Xcode-Kette testen. Erst wenn Remote-Zugriff, Stabilität, Berechtigungen und Build-Ergebnis überzeugen, lohnt sich eine längere feste Umgebung.
Die Alternative bleibt fairerweise bestehen: Für dauerhaft hohe Auslastung, lokale Peripherie, spezielle Entwicklergeräte oder vollständig kontrollierte Hardware kann ein eigener Mac die bessere Investition sein. Für seltene Tests, wechselnde Teamkapazitäten und die Trennung zwischen persönlichem Rechner und Agent-Diensten bietet eine gemietete Umgebung jedoch den praktischeren Übergang. Informationen zu Zugangswegen und verfügbaren Abläufen finden Sie im Hilfe-Zentrum von SSHMac.
Wenn Sie mit sensiblen Repositories arbeiten, sollten Sie vor dem Start zusätzlich Datenklassifizierung, SSH-Schlüssel, Git-Tokens, Netzwerkregeln und Löschprozesse dokumentieren. Die technische Umgebung allein beantwortet keine DSGVO-Frage und ersetzt keine Rechteprüfung.
Beginnen Sie deshalb mit einem kurzen, realen Abnahmelauf statt mit einer theoretischen Hardwareentscheidung: Bleibt der Agent bei Ihrem Arbeitsablauf dauerhaft stabil, genügt der lokale Mac. Blockiert er Ihren Rechner, benötigt er Fernzugriff oder müssen mehrere Personen parallel arbeiten, spricht das für einen getrennten Cloud-Mac. Bei Apple-Projekten zählt am Ende nicht die erfolgreiche Container-Installation, sondern der nachweisbare Xcode-Build auf der vorgesehenen macOS-Umgebung.