---
title: "Resolve new architecture build issues"
canonical_url: "https://www.nutrient.io/guides/react-native/troubleshooting/new-architecture-build-issues/"
md_url: "https://www.nutrient.io/guides/react-native/troubleshooting/new-architecture-build-issues.md"
last_updated: "2026-05-15T19:10:05.056Z"
description: "Learn how to fix common build errors when using React Native’s new architecture with the Nutrient SDK, including missing codegen headers and Swift bridging issues."
---

# Fix new architecture build issues in React Native

When enabling React Native’s [new architecture](https://reactnative.dev/architecture/landing-page) with Nutrient React Native SDK 4.x, you may encounter build errors related to codegen headers or Swift bridging. This guide covers the most common issues and their solutions.

## Missing Props.h file (iOS)

**Error message**

```

'react/renderer/components/nutrient_sdk_react_native_codegen/Props.h' file not found

```

**Cause** — Codegen headers weren’t generated during `pod install`. This happens when the new architecture environment variable isn’t set or when pods need to be reinstalled.

**Solution**

1. Ensure your `Podfile` has the new architecture enabled at the beginning:

   ```ruby

   ENV['RCT_NEW_ARCH_ENABLED'] = '1'
   ```

2. Ensure your `Podfile` includes `use_native_modules!`:

   ```ruby

   use_native_modules!
   ```

3. Reinstall pods to regenerate codegen headers:

   ```bash

   cd ios
   rm -rf Pods Podfile.lock
   pod install --repo-update
   ```

4. Clean the Xcode build folder and rebuild your project.

## Missing codegen header (Android)

**Error message**

```

'nutrient_sdk_react_native_codegen/nutrient_sdk_react_native_codegen.h' file not found

```

**Cause** — Android CMake cannot find the generated JNI headers. This typically occurs when the new architecture isn’t properly enabled or when the build cache is stale.

**Solution**

1. Ensure `newArchEnabled=true` is set in `android/gradle.properties`:

   ```properties

   newArchEnabled=true
   ```

2. Clean and rebuild:

   ```bash

   cd android./gradlew clean
   cd..
   npx react-native run-android
   ```

3. If the issue persists, delete `node_modules` and reinstall:

   ```bash

   rm -rf node_modules
   yarn install
   cd android./gradlew clean
   cd..
   npx react-native run-android
   ```

## Missing Swift bridging header (iOS)

**Error message**

```

'PSPDFKitReactNativeiOS-Swift.h' file not found

```

**Cause** — This issue was fixed in version 2.8.0. If you encounter it, you may be using an older version or have a stale build cache.

**Solution**

1. Ensure you’re using `@nutrient-sdk/react-native` version 2.8.0 or later:

   ```bash

   yarn upgrade @nutrient-sdk/react-native
   ```

2. Clean your iOS build:

   ```bash

   cd ios
   rm -rf Pods Podfile.lock
   pod install --repo-update
   ```

3. Clean Xcode derived data:

   ```bash

   rm -rf ~/Library/Developer/Xcode/DerivedData
   ```

4. Rebuild your project.

## General troubleshooting steps

If you’re encountering other build issues with the new architecture, try these steps:

1. Update to the latest SDK version.

   ```bash

   yarn upgrade @nutrient-sdk/react-native
   ```

2. Delete your build folders inside your application’s `ios` and `android` folders.

   ```bash

   rm -rf ios/build
   rm -rf android/build
   ```

3. Full clean rebuild.

   ```bash

   # Remove node_modules

   rm -rf node_modules
   yarn install

   # iOS

   cd ios
   rm -rf Pods Podfile.lock
   pod install --repo-update
   cd..

   # Android

   cd android./gradlew clean
   cd..
   ```

4. Verify architecture settings.
   - iOS — Check that `ENV['RCT_NEW_ARCH_ENABLED'] = '1'` is at the beginning of your `Podfile`.
   - Android — Check that `newArchEnabled=true` is in `android/gradle.properties`.

5. Check React Native version compatibility. Nutrient React Native SDK 4.x requires React Native 0.77 or later for new architecture support.

For more information about enabling the new architecture, refer to the [React Native 4 migration guide](https://www.nutrient.io/guides/react-native/migration-guides/react-native-4-migration-guide.md).
---

## Related pages

- [Guide to adding a Nutrient license key in React Native](/guides/react-native/troubleshooting/add-license-key.md)
- [Android Gradle Plugin Requires Java 11](/guides/react-native/troubleshooting/android-gradle-plugin-requires-java-11.md)
- [How to find your iOS app bundle ID easily](/guides/react-native/troubleshooting/finding-the-bundle-id.md)
- [Find out your Nutrient version easily](/guides/react-native/troubleshooting/getting-the-currently-used-version.md)
- [Fixing Android back button crash with Nutrient](/guides/react-native/troubleshooting/handling-back-navigation-with-react-native-screens.md)
- [Nightlies](/guides/react-native/troubleshooting/nightlies.md)
- [Out Of Memory Error React Native Android](/guides/react-native/troubleshooting/out-of-memory-error-react-native-android.md)
- [NutrientView inside a modal is blank or crashes on Android](/guides/react-native/troubleshooting/nutrientview-modal-android.md)
- [React Navigation](/guides/react-native/troubleshooting/react-navigation.md)
- [Managing Nutrient's render cache effectively](/guides/react-native/troubleshooting/outdated-render-cache.md)
- [Textinput Error React Native Android](/guides/react-native/troubleshooting/textinput-error-react-native-android.md)
- [View controller-based status bar appearance](/guides/react-native/troubleshooting/view-controller-based-status-bar-appearance.md)
- [Understanding bundle IDs for iOS app development](/guides/react-native/troubleshooting/what-is-a-bundle-id.md)
- [Understanding app IDs in Android development](/guides/react-native/troubleshooting/what-is-an-app-id.md)
- [CMake/Ninja build error caused by long file paths on Windows](/guides/react-native/troubleshooting/windows-path-length-cmake-error.md)
- [Fix Xcode error code 65 for React Native on M1 Macs](/guides/react-native/troubleshooting/xcode-error-65-missing-required-target-architectures-react-native.md)

