
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.
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 needs | Figment 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 simulators | M-series Mac from $95 (request) |
| CI pipeline with monitoring and backups | Managed 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.
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:
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.
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
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.
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.
Disk size depends on the plan you ordered — the $29 VM is 80 GiB, physical plans are per quote. Working guide:
| Item | Approximate 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 build | 300–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.
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.