SDK 52 patches for Xcode 16.3
APR 1, 2025
We have released patches for four modules to address a breaking change in Xcode 16.3, which was released March 31st. The breaking change is the removal of a specific base template type in C++ in LLVM 19 (the Xcode compiler) and introduces errors when building Expo apps.
You may encounter an error like this:
298 | static_assert(is_standard_layout<value_type>::value, "Character type of basic_string_view must be standard-layout");
299 | static_assert(is_trivial<value_type>::value, "Character type of basic_string_view must be trivial");
> 300 | static_assert(is_same<_CharT, typename traits_type::char_type>::value,
| ^ implicit instantiation of undefined template 'std::char_traits<unsigned char>'
301 | "traits_type::char_type must be the same type as CharT");
302 |
303 | // [string.view.cons], construct/copy
The following packages have been patched:
expo-device@7.0.3expo-gl@15.0.5expo-dev-client@5.0.18expo-dev-menu@6.0.23 (installed by expo-dev-client)expo-dev-launcher@5.0.33 (installed by expo-dev-client)To upgrade these packages, run:
npx expo install --fix
React Native versions older than 0.77 have the same issues. This was fixed in react-native@0.77.0 with an upgrade to the native dependency, Folly. You will need to use React Native 0.77 or newer if you are using Xcode 16.3.
A fix for React Native 0.76 is in progress: facebook/react-native#50431.
For more information on using React Native 0.77 in SDK 52, see the React Native 0.77 release notes.
Fetched April 8, 2026