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.
- 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 coresMore cores shorten clean builds and parallel test runs |
|---|---|
| Memory | 16 GB, or 32 GB for parallel simulatorsXcode, the compiler and each simulator need their own share |
| Disk | 100 GB or more of free spaceTwo Xcode versions, simulator runtimes, DerivedData and archives |
| macOS | A version the required Xcode supportsCheck Apple's Xcode system requirements |
| Access | SSH plus a graphical sessionScreen Sharing or VNC for setup, UI tests and keychain prompts |
| Network | A stable connection and a fixed IP addressFor 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
-
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.
-
Keep certificates out of the repository
Store certificates and profiles encrypted, for example with fastlane match, or import them from CI secrets.
-
Use a temporary keychain per job
Create a keychain for the job, import the certificate, and delete the keychain when the job ends.
-
Let Xcode sign automatically
xcodebuild can use the API key for automatic signing on a machine without a signed-in Apple Account.
-
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
Designed for macOS-based applications and development projects, our macOS VPS Hosting lets you host your macOS projects securely.
Starting from $11.18/мо -
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/мо -
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/мо
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 moreMove a website without downtime
A step-by-step plan for files, databases, DNS, SSL and email.
Learn moreDNS basics for a new domain
Nameservers, records, TTL and the email records every domain needs.
Learn moreSecure a new Linux server
The first-hour checklist: updates, SSH keys, a firewall and backups.
Learn moreChoose a data center location
How distance becomes latency, how to measure it and what data rules mean for location.
Learn moreFrequently 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.