expo / expo/eas-cli

VisionCamera V5 (NitroModules) fails to compile on Xcode 26 beta assigned by EAS Build for Expo SDK 54

Open
#3,616 0 comments 0 reactions 0 assignees View on GitHub
needs review
Dominant language
TypeScript
Stars
1.4k
Forks
236
Avg merge
3d 1h
Merged PRs (30d)
91

Description

### Build/Submit details page URL

https://expo.dev/accounts/wsteidle/projects/temp-setup/builds/748e8f7e-4c3c-4ecd-8faf-c7919ddff945

### Summary

EAS Build automatically assigns Xcode 26 beta for Expo SDK 54 projects with no way to opt out, breaking VisionCamera V5 (NitroModules) compilation

### Managed or bare?

Managed

### Environment

- eas-cli: 18.7.0
- expo: ~54.0.33
- react-native: 0.81.5
- react-native-vision-camera: 5.0.1
- react-native-worklets: 0.8.1
- react-native-reanimated: 4.3.0
- EAS Build image auto-assigned: Xcode 26 beta (SDK_VERSION=26.0, XCODE_VERSION_ACTUAL=2600)
- Device tested: iPhone 15 Pro, iOS 18.7.3
- OS: Windows 10

### Error output

The "Run fastlane" step failed with an unknown error.

From Xcode logs:
Rename failed: .../VisionCamera.build/Objects-normal/arm64/
AVCaptureSession+addAudioInput-e3ea27bd.o.tmp ->
AVCaptureSession+addAudioInput.o: No such file or directory

Pod install succeeds. Failure occurs during Xcode compilation phase.

### Reproducible demo or steps to reproduce from a blank project

1. Create Expo SDK 54 managed project
2. Install react-native-vision-camera@5.0.1, react-native-worklets@0.8.1, react-native-reanimated@4.3.0
3. Set newArchEnabled: true in app.json
4. Run: eas build -p ios --non-interactive
5. EAS automatically assigns Xcode 26 beta for SDK 54
6. Build fails in Xcode compilation phase

Note: The "image" field in eas.json to pin Xcode version is rejected by EAS CLI 18.7.0 with "image is not allowed". There is currently no way to opt out of Xcode 26 beta for SDK 54.

Workaround: Downgrading to Expo SDK 53 forces EAS to use Xcode 16.2 and compiles successfully.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.