# How to choose a macOS server for iOS CI/CD

> What an iOS build server needs: Apple silicon, the right macOS and Xcode versions, enough CPU, memory and disk, code signing on CI and Apple's licence rules.

1. [Home](https://hyperdc.com/)
2. [Guides](https://hyperdc.com/guides)
3. How to choose a macOS server for iOS CI/CD

Continuous integration for iOS and macOS apps needs a real Mac: Xcode runs only on macOS, and Apple's licence allows macOS only on Apple hardware. This guide covers the versions, hardware, sizing and setup that turn a remote Mac into a reliable build server.

## The short answer

For App Store builds, choose an Apple silicon Mac with a macOS version that runs the Xcode Apple currently requires. Give it enough memory and disk for two Xcode versions and their simulators, keep a logged-in session for UI tests, and store signing secrets outside your repository.

[See Apple Silicon macOS VPS](https://hyperdc.com/apple-silicon-macos-vps)

- Apple silicon for current Xcode releases
- A macOS version the required Xcode supports
- Memory and disk sized for Xcode and simulators
- A logged-in session for UI tests
- Signing keys kept out of the repository

- Xcode pre-installed

## Why iOS CI needs a Mac

Xcode, the iOS SDK and the iOS Simulator run only on macOS, and Apple's software licence allows macOS only on Apple-branded computers. A Linux server cannot build and sign an iOS app for the App Store, so every iOS pipeline needs at least one Mac, whether it sits in an office, in a hosted CI service or in a data center.

A remote Mac in a data center has practical advantages over a machine under a desk: a stable network connection, a fixed IP address for webhooks and allow lists, and no office computer that someone switches off at night.

## Match macOS and Xcode to Apple's requirements

Apple sets a minimum Xcode and SDK version for uploads to App Store Connect and raises it regularly; in recent years the new minimum has taken effect each April. Since 28 April 2026, uploads must be built with Xcode 26 or later, and Apple has announced that the 27 SDKs will be required from April 2027.

Each Xcode release in turn needs a minimum macOS version: Xcode 27, for example, needs macOS Tahoe 26.6 or later and a Mac with Apple silicon. Before you choose a server, check three things:

- the Xcode version you need today and the one you will need after the next deadline;
- the minimum macOS version of that Xcode, listed on Apple's Xcode system requirements page;
- the macOS versions the server plan offers. Our order form lists the versions you can choose for each macOS plan.

## Apple silicon or Intel?

Apple has announced that macOS Tahoe 26 is the last macOS release for Intel-based Macs; macOS 27 runs on Apple silicon only, and current Xcode releases need an Apple silicon Mac. Intel Macs remain useful for testing older macOS versions or x86\_64 builds of existing apps, but a new build server for App Store work should be Apple silicon.

Apple silicon also simplifies simulator setup: Xcode downloads arm64 simulator runtimes, which saves disk space, and builds run natively without Rosetta.

At HyperDC, Apple Silicon macOS VPS plans run on Apple silicon hardware. Because Apple's Virtualization framework does not offer nested virtualization for macOS guests, you cannot run further virtual machines inside them; for that, choose a VDS.

## Sizing a build server

Starting points for one pipeline building a typical iOS app. Measure your own builds and adjust.

| CPU | 8 or more cores More cores shorten clean builds and parallel test runs |
| --- | --- |
| Memory | 16 GB, or 32 GB for parallel simulators Xcode, the compiler and each simulator need their own share |
| Disk | 100 GB or more of free space Two Xcode versions, simulator runtimes, DerivedData and archives |
| macOS | A version the required Xcode supports Check Apple's Xcode system requirements |
| Access | SSH plus a graphical session Screen Sharing or VNC for setup, UI tests and keychain prompts |
| Network | A stable connection and a fixed IP address For webhooks, allow lists and fast dependency downloads |

Rules of thumb, not limits: large projects and parallel jobs need more.

## Set up the CI runner

### Hosted, self-hosted or Apple's own

Xcode Cloud is Apple's hosted CI service and includes a monthly allowance of compute hours with the Apple Developer Program. A self-hosted runner on your own remote Mac gives you full control of the toolchain, caches that survive between builds and no per-minute billing. GitHub Actions, GitLab Runner and Jenkins all support macOS agents, and fastlane automates the build, test and upload steps.

### Keep a logged-in session

UI tests, the Simulator and some keychain operations need a graphical user session. Run the runner as a user agent in a logged-in session rather than only over SSH, enable automatic login so the session returns after a restart, and stop the Mac from sleeping.

### Treat a self-hosted runner as a production server

A self-hosted runner executes whatever code a pipeline gives it. Use it only with private repositories you trust, keep macOS and Xcode updated, and limit who can change the pipeline configuration.

## Code signing on a remote Mac

1. ### Use an App Store Connect API key
   Create a team key in App Store Connect and store it in your CI secrets. Apple lets you download the private key only once.
2. ### Keep certificates out of the repository
   Store certificates and profiles encrypted, for example with fastlane match, or import them from CI secrets.
3. ### Use a temporary keychain per job
   Create a keychain for the job, import the certificate, and delete the keychain when the job ends.
4. ### Let Xcode sign automatically
   xcodebuild can use the API key for automatic signing on a machine without a signed-in Apple Account.
5. ### Rotate and revoke
   Revoke keys that may have leaked and review regularly who has access to signing.

## Apple's licence in brief

Apple's macOS licence allows macOS only on Apple-branded hardware and limits a Mac to two additional macOS instances in virtual machines, for purposes such as software development and testing. It also sets terms for leasing Macs for development and continuous integration work, including a minimum lease period of 24 consecutive hours. The licence text on Apple's website is binding, so read it for your own use case.

## Servers for your build pipeline

- ### [macOS VPS Hosting](https://hyperdc.com/macos-vps-hosting)
  Designed for macOS-based applications and development projects, our macOS VPS Hosting lets you host your macOS projects securely.
  Starting from **$11.18** /mo
- ### [macOS VDS Hosting](https://hyperdc.com/macos-vds-hosting)
  Mac VDS hosting is a virtual dedicated server hosting that handles the macOS operating system, also known as macOS VDS hosting. It enables users to run macOS-based applications, xCode development, software, and services in a virtualized environment by authorising them to lease or rent virtual servers that run on macOS. Whether for personal or business use, you need a web hosting service to get your ideas online.
  Starting from **$1.00** /mo
- ### [Linux VPS Hosting](https://hyperdc.com/linux-vps-hosting)
  Linux VPS Hosting grants you more control and freedom with virtual private servers, particularly suited for Linux-based projects, offering excellent performance and customization.
  Starting from **$3.33** /mo

## More guides

### VPS vs VDS vs dedicated server

What each term means, how to tell when you have outgrown a VPS, and when bare metal is worth it.

[Learn more](https://hyperdc.com/guides/vps-vs-vds-vs-dedicated-server)

### Move a website without downtime

A step-by-step plan for files, databases, DNS, SSL and email.

[Learn more](https://hyperdc.com/guides/move-website-without-downtime)

### DNS basics for a new domain

Nameservers, records, TTL and the email records every domain needs.

[Learn more](https://hyperdc.com/guides/dns-basics-for-a-new-domain)

### Secure a new Linux server

The first-hour checklist: updates, SSH keys, a firewall and backups.

[Learn more](https://hyperdc.com/guides/secure-a-new-linux-server)

### Choose a data center location

How distance becomes latency, how to measure it and what data rules mean for location.

[Learn more](https://hyperdc.com/guides/choose-a-data-center-location)

## Frequently asked questions

### Can I build iOS apps on a Linux or Windows server?

No. Xcode and the iOS SDK run only on macOS, and Apple's licence allows macOS only on Apple hardware. Linux servers are still useful in the same pipeline for back-end services, Android builds and artifact storage.

### Which macOS version should my build server run?

A version supported by the Xcode you need, as listed on Apple's Xcode system requirements page. Keep the version the same on all build machines so that builds are reproducible.

### How do I keep the disk from filling up?

Remove old Xcode versions you no longer need, delete unavailable simulators with `xcrun simctl delete unavailable` and clear old DerivedData folders on a schedule. Plan space for the next Xcode before Apple's next deadline.

### Do I need a graphical session for CI?

For command-line builds, SSH is enough. UI tests, the Simulator and some keychain prompts need a logged-in graphical session, so set up automatic login and use Screen Sharing or VNC for setup.

### Can I install other Xcode versions on a HyperDC macOS server?

Yes. You have an administrator account, so you can install the Xcode versions you need from Apple's developer website and switch between them with `xcode-select`.

## Questions before you order?

Send us a message and our team will help you choose the right service.

[Contact us](https://hyperdc.com/contact-us) [Client area](https://hyperdc.com/account)

---

Source: <https://hyperdc.com/guides/macos-server-for-ios-ci>\
Updated: 2026-10-06
