Xcode 27.1 RC Now Available on the Tahoe RC Image

You asked for Xcode 27.1 before Apple ships it, so we've added it to the RC image. The getmac-tahoe-rc label (macOS Tahoe 26.6.2) now includes the Xcode 27.1 Release Candidate next to Xcode 27.0.
Xcode 27.0 stays the default. Nothing changes for your existing jobs unless you choose Xcode 27.1. Apple's final Xcode 27.1 is expected on October 23, and we'll make it the default on the RC image once it ships.
What's New
- Xcode 27.1 RC — Build 27A9275, installed at
/Applications/Xcode_27.1.app. - iOS 27.1 simulator runtime — iOS 27.1 (24A94232), alongside iOS 27.0 and the 26.x and 18.6 runtimes already on the image.
Xcode 27.0 (27A266a) stays at /Applications/Xcode_27.0.app and is still the selected Xcode. The rest of the image is unchanged: macOS 26.6.2, the tvOS, watchOS, and visionOS 27.0 runtimes, Rust 1.98.1, Go 1.27.1, TypeScript 7.0.2, pnpm 12.4.2, Fastlane 2.240.1, CocoaPods 1.17.0, Google Chrome 153 with a matching chromedriver, and the rest of the installed tools.
Using Xcode 27.1 RC
Set DEVELOPER_DIR for the job, or for just the steps that should build with 27.1. It needs no sudo and doesn't affect other jobs:
jobs:
build:
runs-on: getmac-tahoe-rc
env:
DEVELOPER_DIR: /Applications/Xcode_27.1.app/Contents/Developer
steps:
- uses: actions/checkout@v4
- run: xcodebuild -version # Xcode 27.1, Build version 27A9275
If your tooling expects the selected Xcode to change instead, switch it at the start of the job:
- run: sudo xcode-select -s /Applications/Xcode_27.1.app
To compare both toolchains on the same commit, use a matrix:
jobs:
build:
runs-on: getmac-tahoe-rc
strategy:
matrix:
xcode: ["27.0", "27.1"]
env:
DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer
Check Before You Switch
- This is a pre-release Xcode. Xcode 27.1 RC is Apple's release candidate, not the final 27.1 build. Use it to validate your app against what's coming, and check Apple's guidance before shipping App Store builds made with it. Builds you release should keep using Xcode 27.0 until the final 27.1 is out.
- Use the iOS 27.1 simulator with Xcode 27.1. The iOS 27.1 runtime is meant for Xcode 27.1. Select Xcode 27.1 as shown above for jobs that test on iOS 27.1, and keep iOS 27.0 for jobs on the default Xcode 27.0.
- Don't hard-code simulator device names. Each simulator runtime supports its own set of device types, and creating a device the runtime doesn't support fails with
Incompatible device. A device name that works with iOS 27.0 may not exist for iOS 27.1. Pin both the OS and a device the runtime supports, for example-destination 'platform=iOS Simulator,OS=27.1,name=<device>', or pick one fromxcrun simctl list runtimes -j, which lists each runtime'ssupportedDeviceTypes.
What Hasn't Changed
Without DEVELOPER_DIR or xcode-select, getmac-tahoe-rc builds with Xcode 27.0, exactly as before. Our stable labels — getmac, getmac-latest, and getmac-tahoe — still resolve to macOS Tahoe 26.5.2 with Xcode 26.6, and getmac-tahoe-legacy still resolves to macOS Tahoe 26.3.2 with Xcode 26.4.
What's Next
When Apple releases the final Xcode 27.1, we'll replace the RC build on the image with the final release and make Xcode 27.1 the default on getmac-tahoe-rc. We'll announce it here when that happens.
GitHub Actions Integration
Use the following labels in your runs-on field:
getmac,getmac-latest, orgetmac-tahoe— macOS Tahoe 26.5.2 with Xcode 26.6 (current stable)getmac-tahoe-rc— macOS Tahoe 26.6.2 with Xcode 27.0 (default) and Xcode 27.1 RC (Release Candidate)getmac-tahoe-legacy— macOS Tahoe 26.3.2 with Xcode 26.4
For the full list of available labels, see our Workflow Labels documentation.
Get Started
The updated RC image is live now. Point your workflow at getmac-tahoe-rc and set DEVELOPER_DIR to build and test with Xcode 27.1 RC and the iOS 27.1 simulator.
As always, we'd love to hear your feedback — join our Discord community to share thoughts or request new tools.
— The GetMac Team