Use case · iOS and macOS development

    A persistent remote Mac for interactive Xcode development

    For developers who write and debug iOS or macOS apps but do not work on a Mac, or who need a second, always-on Mac. You connect to your own Mac mini, open Xcode, run the simulator and pick up where you left off the next day.

    Illustrative workflow
    1. Your computer

      Screen Sharing or SSH

      01
    2. Hosted Mac mini

      Dedicated, admin access

      02
    3. Xcode

      Edit, build, debug

      03
    4. Simulator

      Run and preview

      04

    What this solves

    Developers on Windows or Linux

    Xcode only runs on macOS. A remote Mac gives Flutter, React Native and web teams a place to build and debug the iOS side.

    One workspace that stays put

    Your checkout, simulators, settings and caches persist. Nothing is reset between sessions.

    No hardware to ship or manage

    New team members or contractors get access to a Mac in the datacenter instead of a laptop in the post.

    Example workflow

    A Flutter developer on Windows ships an iOS fix

    1. 1

      The developer connects to the Mac with Screen Sharing over a VPN or SSH tunnel.

    2. 2

      The project is already checked out and the simulators are installed from previous sessions.

    3. 3

      They run the app in the iOS Simulator, set breakpoints in Xcode and fix the issue.

    4. 4

      Xcode signs a debug build with the team's Apple Developer account.

    5. 5

      The fix is pushed to Git, where your CI pipeline takes over.

    Ways to work on the Mac

    Most developers combine a graphical session for Xcode with SSH for everything that runs in a terminal.

    Screen Sharing (VNC) over an SSH tunnel or VPNBest forXcode, Interface Builder, SwiftUI previews and the SimulatorYou needA VNC client and an SSH key or VPN
    SSH terminalBest forgit, xcodebuild, fastlane and scriptsYou needAny SSH client
    Remote editor over SSH, for example VS Code Remote-SSHBest forEditing code and running builds from your own editorYou needAn editor with SSH support; Xcode itself still needs Screen Sharing
    JetKVM console (optional add-on)Best forRecovery when macOS is not reachable over the networkYou needA web browser

    How to set it up and run it

    1. 1

      Choose a configuration and the macOS version that your target Xcode version requires.

    2. 2

      Connect over SSH first, create user accounts and enable macOS Screen Sharing. Expose it only through a VPN or an SSH tunnel, not directly to the internet.

    3. 3

      Install Xcode, sign in with your Apple ID in Xcode and add your team from the Apple Developer Program.

    4. 4

      Install the simulator runtimes you need

      Each runtime takes several gigabytes, so plan storage.

    5. 5

      Add the optional JetKVM if you want a console that works even when macOS networking or Screen Sharing does not.

    Which configuration fits

    Pricing

    Good fit for

    One developer running Xcode with a few simulators open.

    Mac mini M6

    • 12-core CPU · 12-core GPU
    • Memory: 24 GB
    • Storage: 512 GB SSD

    Good fit for

    Large projects, multiple simulator runtimes or SwiftUI previews alongside other tools.

    Mac mini M6

    • 12-core CPU · 12-core GPU
    • Memory: 32 GB
    • Storage: 512 GB SSD

    Good fit for

    More CPU cores and room for several Xcode versions and simulator runtimes.

    Mac mini M5 Pro

    • 15-core CPU · 16-core GPU
    • Memory: 24 GB
    • Storage: 1 TB SSD

    Who does what

    vBoxx provides

    • A dedicated Mac mini with full admin access, reachable over SSH and Screen Sharing
    • The macOS version you choose at order time, so it matches the Xcode release you need
    • Persistent storage for your checkout, simulator runtimes and DerivedData
    • Optional JetKVM console if Screen Sharing stops responding
    • Support during EU business hours, emergency remote hands 24/7

    You manage

    • Xcode, SDKs and simulator runtimes
    • Apple ID and Apple Developer Program membership
    • User accounts, VPN and secure remote access
    • Software licences for tools you install
    • Your source code and backups beyond Git

    Before you choose this setup

    • This is interactive work over a network. Typing and scrolling feel responsive on a stable connection, but animations and video are not as smooth as a local Mac.
    • Physical iPhones and iPads cannot be connected to the hosted Mac over USB. Test on devices locally or through a device cloud.
    • For automated builds on every commit, use a separate build runner. See the CI/CD use case.

    Frequently asked questions

    Here a person works on the Mac interactively, with Xcode and the simulator on screen. A build runner works unattended and is triggered by your CI system. Many teams keep them on separate Macs so a long build never slows down a developer.

    Yes. Use a VNC client to reach macOS Screen Sharing through a VPN or SSH tunnel, and SSH for the terminal. You can also install another remote desktop tool if you license it yourself.

    Yes. Signing, TestFlight and App Store distribution use your Apple Developer Program membership. vBoxx does not provide or manage Apple accounts.

    Xcode itself plus a few simulator runtimes can take a large part of a 512 GB disk. If you keep several Xcode versions or many runtimes, choose 1 TB on the M5 Pro.

    Several people can log in over SSH. For graphical sessions, plan one active developer per Mac; check that your workflow supports anything more before relying on it.

    Not sure which Mac fits your workload?

    Configure a Mac mini M6 or M5 Pro yourself, or describe your workload and an engineer will suggest a configuration.