Skip to content

fix(cocoapods): escape local file URIs for unicode paths#56907

Open
chrfalch wants to merge 1 commit into
mainfrom
chrfalch/fix-56878-unicode-chars-in-ruby-paths
Open

fix(cocoapods): escape local file URIs for unicode paths#56907
chrfalch wants to merge 1 commit into
mainfrom
chrfalch/fix-56878-unicode-chars-in-ruby-paths

Conversation

@chrfalch
Copy link
Copy Markdown
Collaborator

@chrfalch chrfalch commented May 20, 2026

Summary:

#56878 shows that using unicode characters in paths fails with pod install.

Expo fixed this internally here: expo/expo#45779

Fixes #56878

How:

Build local file:// sources through a shared helper that percent-encodes filesystem paths before passing them to URI::File.build. This avoids Ruby/CocoaPods URI failures when React Native projects or local prebuilt tarballs live under paths containing Unicode characters or spaces.

Apply the helper to RNCore and ReactNativeDependencies local tarball sources, including RNCore dSYM-processed prebuilt paths, while leaving remote Maven and Sonatype URLs unchanged.

Add focused coverage for Unicode, spaces, ASCII paths, and the raw URI::File.build regression case.

Changelog:

[IOS] [FIXED] - fixed escaping local file URIs for unicode paths in ruby scripts

Test Plan:

  • Test with creating a new project in a path containing a unicode character and the run pod install.

## Summary

#56878 shows that using unicode characters in paths fails with pod install. Expo fixed this internally here:
expo/expo#45779

#fixes Unicode filesystem paths break iOS precompiled xcframework resolution due to unescaped URI handling
Fixes #56878

## How

Build local file:// sources through a shared helper that percent-encodes filesystem paths before passing them to URI::File.build. This avoids Ruby/CocoaPods URI failures when React Native projects or local prebuilt tarballs live under paths containing Unicode characters or spaces.

Apply the helper to RNCore and ReactNativeDependencies local tarball sources, including RNCore dSYM-processed prebuilt paths, while leaving remote Maven and
Sonatype URLs unchanged.

Add focused coverage for Unicode, spaces, ASCII paths, and the raw URI::File.build regression case.
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label May 20, 2026
@chrfalch chrfalch requested a review from cipolleschi May 20, 2026 10:19
@facebook-github-tools facebook-github-tools Bot added p: Expo Partner: Expo Partner Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team. labels May 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Expo Partner: Expo Partner Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unicode filesystem paths break iOS precompiled xcframework resolution due to unescaped URI handling

1 participant