Een vaste remote Mac voor interactieve Xcode-ontwikkeling
Voor ontwikkelaars die iOS- of macOS-apps schrijven en debuggen maar niet op een Mac werken, of een tweede Mac nodig hebben die altijd aanstaat. Je verbindt met je eigen Mac mini, opent Xcode, draait de simulator en gaat de volgende dag verder waar je was.
- 01
Je eigen computer
Schermdeling of SSH
- 02
Gehoste Mac mini
Dedicated, admin-toegang
- 03
Xcode
Bewerken, bouwen, debuggen
- 04
Simulator
Uitvoeren en bekijken
Wat dit oplost
Ontwikkelaars op Windows of Linux
Xcode draait alleen op macOS. Een remote Mac geeft Flutter-, React Native- en webteams een plek om de iOS-kant te bouwen en te debuggen.
Eén werkplek die blijft
Je checkout, simulators, instellingen en caches blijven bewaard. Niets wordt tussen sessies gewist.
Geen hardware verzenden of beheren
Nieuwe collega's of freelancers krijgen toegang tot een Mac in het datacenter in plaats van een laptop per post.
Voorbeeldworkflow
Een Flutter-ontwikkelaar op Windows lost een iOS-bug op
- 1
De ontwikkelaar verbindt met de Mac via Schermdeling over een VPN of SSH-tunnel.
- 2
Het project staat al klaar en de simulators zijn geïnstalleerd uit eerdere sessies.
- 3
De app draait in de iOS Simulator, met breakpoints in Xcode wordt het probleem opgelost.
- 4
Xcode signeert een debug-build met het Apple Developer-account van het team.
- 5
De fix gaat naar Git, waar je CI-pipeline het overneemt.
Zo werk je op de Mac
De meeste ontwikkelaars combineren een grafische sessie voor Xcode met SSH voor alles wat in een terminal draait.
| Verbinding | Geschikt voor | Wat je nodig hebt |
|---|---|---|
| Schermdeling (VNC) via een SSH-tunnel of VPN | Geschikt voorXcode, Interface Builder, SwiftUI-previews en de Simulator | Wat je nodig hebtEen VNC-client en een SSH-sleutel of VPN |
| SSH-terminal | Geschikt voorgit, xcodebuild, fastlane en scripts | Wat je nodig hebtElke SSH-client |
| Editor op afstand via SSH, bijvoorbeeld VS Code Remote-SSH | Geschikt voorCode bewerken en builds starten vanuit je eigen editor | Wat je nodig hebtEen editor met SSH-ondersteuning; Xcode zelf heeft nog steeds schermdeling nodig |
| JetKVM-console (optioneel) | Geschikt voorHerstel als macOS niet via het netwerk bereikbaar is | Wat je nodig hebtEen webbrowser |
Inrichten en beheren
- 1
Kies een configuratie en de macOS-versie die je beoogde Xcode-versie vereist.
- 2
Verbind eerst via SSH, maak gebruikersaccounts aan en zet macOS Schermdeling aan. Maak die alleen bereikbaar via een VPN of SSH-tunnel, niet direct vanaf internet.
- 3
Installeer Xcode, log in Xcode in met je Apple ID en voeg je team uit het Apple Developer Program toe.
- 4
Installeer de simulator-runtimes die je nodig hebt
Elke runtime neemt enkele gigabytes in beslag, dus plan je opslag.
- 5
Neem de optionele JetKVM als je een console wilt die ook werkt als het netwerk of Schermdeling in macOS dat niet doet.
Welke configuratie past
Geschikt voor
Eén ontwikkelaar met Xcode en een paar simulators open.
Mac mini M6
- 12-core CPU · 12-core GPU
- Geheugen: 24 GB
- Opslag: 512 GB SSD
Wie doet wat
vBoxx levert
- Een dedicated Mac mini met volledige admin-toegang, bereikbaar via SSH en schermdeling
- De macOS-versie die je bij bestelling kiest, passend bij de Xcode-versie die je nodig hebt
- Blijvende opslag voor je checkout, simulator-runtimes en DerivedData
- Optionele JetKVM-console als schermdeling niet meer reageert
- Support tijdens Europese kantooruren, remote hands 24/7 bij noodgevallen
Jij beheert
- Xcode, SDK's en simulator-runtimes
- Apple ID en Apple Developer Program-lidmaatschap
- Gebruikersaccounts, VPN en veilige remote toegang
- Licenties voor software die je installeert
- Je broncode en back-ups buiten Git
Voordat je voor deze opzet kiest
- Dit is interactief werk over een netwerk. Typen en scrollen voelen vlot bij een stabiele verbinding, maar animaties en video zijn minder vloeiend dan op een lokale Mac.
- Fysieke iPhones en iPads kunnen niet via USB op de gehoste Mac worden aangesloten. Test lokaal op apparaten of via een device cloud.
- Voor geautomatiseerde builds bij elke commit gebruik je een aparte build runner. Zie de CI/CD-toepassing.