
Break-even between Xcode Cloud and a flat-rate dedicated Mac lands near 42 builds per day at a 12-minute average. Below that, Apple's metered plans are usually cheaper. Above it, the Figment Managed Build Mac at $249/month wins because you stop paying per compute hour. The math below lets you plug in your own numbers.
Every active Apple Developer Program membership ($99/year) includes 25 free compute hours per month. Additional capacity is billed as a monthly subscription from inside App Store Connect. Pricing per Apple's Xcode Cloud page:
| Plan | Monthly compute hours | Monthly price | Effective rate |
|---|---|---|---|
| Included with membership | 25 | — | — |
| 100-hour | 100 | $49.99 | $0.50/hr |
| 250-hour | 250 | $99.99 | $0.40/hr |
| 1,000-hour | 1,000 | $399.99 | $0.40/hr |
| 10,000-hour | 10,000 | $3,999.99 | $0.40/hr |
Unused hours do not carry forward. If you exhaust the allocation before the month ends, builds queue until the plan renews or you upgrade to the next tier.
Apple's definition on the same page: "A compute hour is an hour of time used to execute a specific task in the cloud, such as building an app or running automated tests. For example, running 5 tests of 12 minutes each equals one compute hour." Two practical consequences for a buyer:
A re-run after a flaky test consumes another full action. Teams with unstable suites routinely see measurable overage; plan a buffer or fix the flakes before sizing the tier.
The Figment Managed Build Mac is $249/month at a flat rate — no per-build or per-hour charge. The plan covers:
A day with 300 builds costs the same as a day with five. Because the machine is persistent, your SwiftPM resolution cache, CocoaPods cache, and DerivedData survive between runs — a meaningful time saving over ephemeral cloud runners that start clean.
Physical Mac plans are request-based until the specific hardware is confirmed, so agree on an evaluation before purchase. See /mac-hosting for plan overview, or start a configuration request.
Scenario A — high volume team:
50 builds/day × 12 min ÷ 60 = 10 compute hours/day
10 × 30 = 300 compute hours/month
300 hours exceeds the 250-hour tier, so this team needs the 1,000-hour plan at $399.99/month.
| Line item | Monthly cost |
|---|---|
| Xcode Cloud 1,000-hour plan | $399.99 |
| Figment Managed Build Mac | $249.00 |
| Monthly difference | $150.99 in favor of Figment |
These are different service models — Xcode Cloud is fully managed by Apple; the Figment plan gives you a dedicated M-series Mac with the CI runner set up for you, and you operate your own pipeline.
Scenario B — lower volume team (15 builds/day at 12 minutes):
15 × 12 ÷ 60 × 30 = 90 compute hours/month → 100-hour plan at $49.99/month
At this volume Xcode Cloud is $199.01/month cheaper than the Managed Build Mac. A dedicated Mac does not pay off at that cadence; stay on metered pricing.
Paste the block below into Google Sheets via File → Import → Paste data, then edit rows 2–5.
Field,Value
Builds per month,1500
Average build duration (minutes),12
Xcode Cloud effective rate ($/hr),0.40
Figment flat rate ($/month),249
Compute hours/month,=B2*B3/60
Xcode Cloud plan cost,=IFS(B6<=25,0,B6<=100,49.99,B6<=250,99.99,B6<=1000,399.99,B6<=10000,3999.99,TRUE,3999.99)
Figment monthly cost,=B5
Break-even builds/month at this duration,=250*60/B3
The break-even formula uses 250 compute hours — the point at which Xcode Cloud jumps from $99.99 to $399.99 and crosses the $249 flat rate. At a 12-minute average, that is 1,250 builds/month, or roughly 42/day. Change row 3 for your own suite's average wall time; the threshold moves inversely.
Apple Developer Program ($99/year): required for App Store distribution either way; not an incremental Xcode Cloud cost for existing members, but a dependency for new teams.
Re-runs: every rerun of a failed action pays again at the per-action rate. Count rerun history from a representative month before sizing a tier.
Peak sprints: a release week can exhaust the 250-hour plan several days early. Xcode Cloud lets you move to a larger tier mid-cycle; check the current proration behavior in App Store Connect before relying on it. Flat-rate pricing is unaffected by spikes.
Parallelism: fan-out across four simultaneous actions finishes faster but spends four times the compute hours per minute of wall clock. A dedicated Mac's core count is fixed and is not billed per lane.
| Team situation | Better option | Why |
|---|---|---|
| Solo dev, under ~90 hrs/month | Xcode Cloud 100-hr plan | $49.99 vs $249 flat |
| Small team, under ~250 hrs/month | Xcode Cloud 250-hr plan | $99.99 vs $249 flat |
| Over ~42 builds/day at 12-min average | Figment Managed Build Mac | $249 vs $399.99 |
| Long nightly integration (60+ min) | Figment | Long jobs disproportionately consume compute hours |
| Need persistent caches between runs | Figment | Dedicated disk; no ephemeral teardown |
| Zero infra ownership desired | Xcode Cloud | Apple runs the environment |
| visionOS or ARM-only targets | Figment M-series (not the $29 Intel VM) | visionOS requires Apple silicon; confirm the chip on the quote |
.p12 with its private key and a strong password. Copy the matching .mobileprovision files from ~/Library/MobileDevice/Provisioning Profiles/ as files — provisioning profiles are not Keychain items.xcodebuild -workspace … -scheme <YourScheme> archive, xcrun notarytool submit for notarization, and the Fastlane pilot action for TestFlight upload. The commands above are an unexecuted outline; adapt them to your project before running.Related reading: Manage Build Queues Across Mac CI Runners and CI Artifact Storage and Retention on a Mac. If your developers need Xcode access from Windows, see Remote Xcode from Windows.