Figment.so
Mac hostingWebsite hostingGuidesHow to usePricing

First Xcode Build on a Hosted Mac Mini Guide

For Xcode 27 or any Apple-silicon-only toolchain, request a Figment M-series Mac (from $95/month; exact chip, RAM and disk confirmed in the quote). If your project still builds on Xcode 26 or earlier and an Intel toolchain is acceptable, request the i3 Mac at $49/month. Pick the $29 virtual Intel macOS environment for lightweight Intel command-line work, scripted xcodebuild runs against supported SDKs, and Xcode 26-or-earlier toolchains — it runs macOS on Linux/KVM, has no GPU acceleration or audio, and is accessed via browser console. Physical plans collect requests until supply is confirmed, so confirm the handoff before you depend on dates.

Spend ten minutes on the twelve-command preflight at the end of this guide before you clone a repo. It surfaces the most common provisioning gaps in one pass.

Pick the Plan That Matches Your Xcode Version

Apple's porting note states plainly: Intel Macs must use Xcode 26 or an earlier release (developer.apple.com — Porting your macOS apps to Apple silicon). Xcode 27 targeting macOS 27 or DriverKit 27 is Apple-silicon only for the IDE host. macOS Tahoe itself still supports several late-model Intel Macs (support.apple.com/en-us/122867); the Intel limit lives on Xcode 27, not on Tahoe.

Your project needsFigment plan to request
Xcode 26 or earlier, Intel toolchain, scripted builds$29 virtual Intel macOS
Xcode 26 or earlier on a real Intel box$49 i3 Mac (request)
Xcode 27, iOS 27 SDK, ARM execution, GPU-bound simulatorsM-series Mac from $95 (request)
CI pipeline with monitoring and backupsManaged Build Mac $249 (one M-series Mac, CI setup, backups, monitoring, 30 minutes monthly support)

The $29 VM is a virtual Intel macOS instance. It can host a compatible Intel Xcode install, run xcodebuild against supported SDKs, and drive outbound CI agents — it is a real macOS runtime, not a jump host to another machine. ARM execution, visionOS, Xcode 27, GPU-heavy simulators and audio stay on the M-series tier.

Start a request at /mac-hosting/start.

A Small Price Worksheet Before You Click Buy

Treat entry prices as entry prices, not equal hardware. Figment's $95 M-series is an unspecified Apple-silicon entry (chip/RAM/disk confirmed in the quote), not an M4/16GB/256GB. Two public M4-class references published on vendor pricing pages on 2026-11-10:

  • MacStadium M4.S (M4, 16 GB, 256 GB) is $149/month on macstadium.com/pricing; the same page publishes a 99.99% uptime target and includes support and network. Treat it as managed hardware with a published uptime claim, not a bare colo.
  • CloudMac publishes an M4/16GB/256GB tier at $99.99/month on cloudmac.org/pricing and a $999/year annual on cloudmac.org. The annual works out to $83.25/month effective, which is $141 less per year than 12 × $95 at Figment's entry M-series price. CloudMac's 512GB and 1TB rows read "Fully reserved, Next allocation not scheduled"; the 256GB row reads "Reserve now".

What Figment adds on the Managed Build Mac $249 tier that these M4 line items do not: Figment's own CI setup on your repo, backups, monitoring and 30 minutes monthly support. Buy the raw hardware comparison on hardware; buy the Managed Build Mac if you want the CI work done.

Worked example — small iOS team moving from a single laptop:

i3 Mac (one developer, Xcode 26)        : $49  × 12 = $588 / year
VM add-on for scripted lint/test runs   : $29  × 12 = $348 / year
Managed Build Mac (CI on one M-series)  : $249 × 12 = $2,988 / year
Total requested configuration (year 1)  : $3,924

No setup fees, trials, or discounts are offered on these figures; taxes and fees apply as stated in your actual offer.

Connecting for the First Time

The $29 VM is reached through the browser console; inbound public SSH is not currently implemented, so run commands in the VM's desktop terminal and let outbound CI agents reach your service. For the i3 and M-series Macs, Figment configures access per your quote — check the handoff email for the host, account and access path (screen sharing, SSH key, or console) before you try to log in.

Once in, confirm the shell:

sw_vers
hostname
whoami

If SSH is configured on your plan, keep a short entry in ~/.ssh/config:

Host figment-mac
  HostName YOUR_MAC_HOST
  User your_username
  IdentityFile ~/.ssh/your_key
  ServerAliveInterval 60

Checking the Xcode Installation

Download Xcode from developer.apple.com/xcode if it is not already present. Then:

xcode-select -p
xcodebuild -version
sudo xcodebuild -license accept
sudo xcode-select --switch /Applications/Xcode.app

License acceptance is easy to miss. xcodebuild will block waiting for it until you run the accept command. Cross-check the Xcode/macOS pair your project needs against Apple's Xcode release notes; minor releases shift macOS floors between patches, so do not rely on a summary table.

The 12-Command Preflight Checklist

Save as preflight.sh, chmod +x preflight.sh && ./preflight.sh. The set -euo pipefail directive stops on the first failure and prints the section label, so a failed build is never counted as a successful run.

#!/usr/bin/env bash
# preflight.sh — run after provisioning a hosted Mac
set -euo pipefail

echo "=== 1. macOS version ==="
sw_vers

echo "=== 2. Active Xcode path ==="
xcode-select -p

echo "=== 3. Xcode version ==="
xcodebuild -version

echo "=== 4. Available SDKs (iOS) ==="
xcodebuild -showsdks | grep -E "iphoneos|iphonesimulator"

echo "=== 5. Available simulator runtimes ==="
xcrun simctl list runtimes available

echo "=== 6. Git version ==="
git --version

echo "=== 7. Ruby (Fastlane / CocoaPods) ==="
ruby --version

echo "=== 8. CocoaPods installed? ==="
pod --version 2>/dev/null || echo "CocoaPods not installed — run: sudo gem install cocoapods"

echo "=== 9. Homebrew ==="
brew --version 2>/dev/null || echo "Homebrew not installed — see https://brew.sh"

echo "=== 10. Keychain list ==="
security list-keychains

echo "=== 11. Disk space ==="
df -h /

echo "=== 12. Reach Apple's developer site ==="
curl -fsI https://developer.apple.com/ | head -1

echo ""
echo "=== Preflight complete — review warnings above ==="

This is an unexecuted example; run it on your own machine and treat the output as evidence, not benchmark timing. Point -scheme at a scheme that exists in your workspace (xcodebuild -list prints the real names) and never hardcode a scheme you have not confirmed.

Planning Disk Usage and Secrets

Disk size depends on the plan you ordered — the $29 VM is 80 GiB, physical plans are per quote. Working guide:

ItemApproximate size
Xcode 26 app bundle~15–20 GB
iOS simulator runtime (per version)5–8 GB
DerivedData (medium project)5–25 GB
xcarchive per distribution build300–800 MB

Keep DerivedData under control:

rm -rf ~/Library/Developer/Xcode/DerivedData/*
xcrun simctl delete unavailable

For signing work, keep the certificate private key and an encrypted .p12 in your CI secret manager. Do not export the shell environment to a plaintext file (it can carry tokens), and do not import provisioning profiles into Keychain — profiles are files that belong in ~/Library/MobileDevice/Provisioning Profiles/. Update only the allowlists you actually control (your artifact store, your CI service, your firewall); there is no public App Store Connect or TestFlight IP allowlist to paste in.

Ready to Build

With the preflight green, clone your repo, resolve dependencies, and run your first xcodebuild build or xcodebuild test against a scheme from xcodebuild -list. When you are ready to publish, see the TestFlight submission guide. For production crashes, the crash log symbolication guide covers dSYM matching on the same machine. To automate builds, follow the GitHub Actions self-hosted runner guide.

Request a Mac configuration at /mac-hosting or start setup at /mac-hosting/start.


Subscribe for Figma design and website publishing guides.


Figment.so

Contact

Twitter

Website pricing

Compute index

About

Privacy

Terms