For developers · Checked 1 October 2026

Fixing the fmt consteval error in React Native on Xcode 26.4

Short answer: the error “call to consteval function ‘fmt::basic_format_string’ is not a constant expression” comes from the fmt C++ library that React Native builds on iOS, which the compiler in Xcode 26.4 rejects. React Native fixed it by moving to fmt 12.1.0 in 0.83.5 and 0.85.0, so upgrade to one of those or anything newer, then reinstall pods and rebuild. The 0.84 line never got the fix, and it is no longer supported.

React Native versions and the Xcode 26.4 fix

From React Native’s changelog and npm publish dates, read 1 October 2026.

React Native lineFixed inReleased
0.830.83.5April 14, 2026
0.84No fixed release; last is 0.84.1, now unsupportedFebruary 27, 2026
0.850.85.0April 7, 2026
0.86 and 0.87Included from the first releaseJune and August 2026

How to fix it

Move to React Native 0.83.5 or later in the 0.83 line, or to 0.85.0 or later; the newest stable is 0.87.1, covered in React Native 0.87. Use the React Native Upgrade Helper to see the template changes between your version and the target. After bumping react-native in package.json, reinstall iOS dependencies, for example cd ios && pod install, so the new fmt version is picked up, then clean the build folder in Xcode and build again. If you are on 0.84, the closest fixed versions are 0.85.0 and later, since 0.84 has no patch with the change.

Why staying on an older Xcode isn’t a long-term answer

Rolling back to an Xcode before 26.4 can get a build out, but Apple keeps raising the bar. Since April 28, 2026, uploads must be built with the iOS 26 SDK, see the Xcode 26 SDK requirement, and from April 2027 they must use the iOS 27 SDK from Xcode 27, see Xcode 27 requirements. Xcode 27 also needs the UIScene lifecycle. Upgrading React Native now leaves you ready for both, and CocoaPods itself is going read-only, see CocoaPods read-only.

Where Censuus fits

A build that works again gets your updates out; being found brings people to them. Censuus ranks apps by the visits they draw, and adding your app is free through the List my app form. Placement comes from traffic and sponsorship: apps climb on the visits they draw, and a sponsor can pay to rise higher.

Frequently asked questions

Why does Xcode 26.4 fail with “call to consteval function fmt::basic_format_string”?

The fmt library bundled with older React Native versions doesn’t compile with Xcode 26.4. React Native updated fmt to 12.1.0 to fix it.

Which React Native version fixes the Xcode 26.4 build error?

React Native 0.83.5 and 0.85.0, and every later version, including 0.86 and 0.87.

Is there a fix for React Native 0.84?

React Native’s changelog lists the fix only for 0.83.5 and 0.85.0. The 0.84 line ended at 0.84.1 and is no longer supported, so upgrade to 0.85 or later.

Do I need to run pod install after upgrading?

Yes. Reinstalling pods brings in the updated fmt version; then clean the build folder and rebuild.

Guides for app developers

Put your app in the ranking

Censuus ranks apps by the visits they draw and by sponsorship, no bots. Listing is free; sponsorship raises placement.