VisionCamera V5 (NitroModules) fails to compile on Xcode 26 beta assigned by EAS Build for Expo SDK 54
- 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
Assessment
This issue has not been assessed yet.