Description
React Native fails to resolve/build precompiled xcframeworks correctly when the project exists inside a filesystem path containing Unicode characters (e.g. emoji or certain non-ASCII characters).
This appears to be caused by unescaped file:// URI handling somewhere in the xcframework resolution/build pipeline.
Expo maintainers confirmed and fixed the issue on their side, but noted the same issue still exists upstream in React Native when built from precompiled xcframeworks. The fix on the Expo side can be found here
References:
Steps to reproduce
- Create a new React Native / Expo project
npx create-expo-app@latest expo-unicode-path-bug
- Place the project inside a Unicode filesystem path, for example:
/Users/<user>/💻dev/expo-unicode-path-bug
-
Upgrade/install latest SDK / dependencies
-
Run:
npx expo prebuild --platform ios --clean
or equivalent iOS build flow using precompiled xcframeworks.
- Observe failure during CocoaPods / xcframework resolution.
React Native Version
0.85.2
Affected Platforms
Build - MacOS
Output of npx @react-native-community/cli info
expo-env-info 2.0.12 environment info:
System:
OS: macOS 26.5
Shell: 5.9 - /bin/zsh
Binaries:
Node: 26.1.0 - ~/.local/share/mise/installs/node/latest/bin/node
npm: 11.13.0 - ~/.local/share/mise/installs/node/latest/bin/npm
Watchman: 2026.05.11.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.16.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 25.5, iOS 26.5, macOS 26.5, tvOS 26.5, visionOS 26.5, watchOS 26.5
IDEs:
Xcode: 26.5/17F42 - /usr/bin/xcodebuild
npmPackages:
expo: ^56.0.0-preview.11 => 56.0.0-preview.11
expo-router: ~56.1.4 => 56.1.4
react: 19.2.3 => 19.2.3
react-dom: 19.2.3 => 19.2.3
react-native: 0.85.3 => 0.85.3
react-native-web: ~0.21.0 => 0.21.2
Expo Workflow: bare
Stacktrace or Logs
[!] Invalid `ExpoModulesCore.podspec` file:
bad component(expected absolute path component):
MANDATORY Reproducer
https://github.com/garretteklof/expo-unicode-path-bug
Screenshots and Videos
No response
Description
React Native fails to resolve/build precompiled xcframeworks correctly when the project exists inside a filesystem path containing Unicode characters (e.g. emoji or certain non-ASCII characters).
This appears to be caused by unescaped
file://URI handling somewhere in the xcframework resolution/build pipeline.Expo maintainers confirmed and fixed the issue on their side, but noted the same issue still exists upstream in React Native when built from precompiled xcframeworks. The fix on the Expo side can be found here
References:
Steps to reproduce
Upgrade/install latest SDK / dependencies
Run:
or equivalent iOS build flow using precompiled xcframeworks.
React Native Version
0.85.2
Affected Platforms
Build - MacOS
Output of
npx @react-native-community/cli infoStacktrace or Logs
MANDATORY Reproducer
https://github.com/garretteklof/expo-unicode-path-bug
Screenshots and Videos
No response