expo: [expo-modules][SDK51] build error with `useFrameworks` and new architecture enabled
Minimal reproducible example
https://github.com/leonhh/expo-reproducer/tree/4120ccfc4de5b1df55e284f76b4fc289339bf9a0
What platform(s) does this occur on?
iOS
Did you reproduce this issue in a development build?
Yes
Summary
Setting useFrameworks to true in combination with the new architecture will cause build errors on iOS:
app.json:
"plugins": [
[
"expo-build-properties",
{
"ios": {
"useFrameworks": "static",
"newArchEnabled": true
}
}
]
],
The following error:
› Compiling expo-modules-core Pods/ExpoModulesCore » EXJavaScriptWeakObject.mm
› Compiling expo-modules-core Pods/ExpoModulesCore » EXJavaScriptTypedArray.mm
› Compiling expo-modules-core Pods/ExpoModulesCore » EXJavaScriptRuntime.mm
❌ (node_modules/react-native/ReactCommon/cxxreact/JSExecutor.h:15:10)
13 | #include <cxxreact/NativeModule.h>
14 | #include <folly/dynamic.h>
> 15 | #include <jsinspector-modern/InspectorInterfaces.h>
| ^ 'jsinspector-modern/InspectorInterfaces.h' file not found
16 | #include <jsinspector-modern/ReactCdp.h>
17 |
18 | #ifndef RN_EXPORT
› Compiling expo-modules-core Pods/ExpoModulesCore » EXJSIUtils.mm
› Compiling expo-modules-core Pods/ExpoModulesCore » EXJSIInstaller.mm
› Compiling expo-modules-core Pods/ExpoModulesCore » EXJSIConversions.mm
› Compiling expo-modules-core Pods/ExpoModulesCore » EXAppDefines.m
Environment
expo-env-info 1.2.0 environment info: System: OS: macOS 14.2.1 Shell: 5.9 - /bin/zsh Binaries: Node: 20.11.0 - ~/.nvm/versions/node/v20.11.0/bin/node Yarn: 1.22.19 - ~/.nvm/versions/node/v20.11.0/bin/yarn npm: 10.2.4 - ~/.nvm/versions/node/v20.11.0/bin/npm Watchman: 2024.04.08.00 - /opt/homebrew/bin/watchman Managers: CocoaPods: 1.15.2 - /opt/homebrew/bin/pod SDKs: iOS SDK: Platforms: DriverKit 23.4, iOS 17.4, macOS 14.4, tvOS 17.4, visionOS 1.1, watchOS 10.4 IDEs: Android Studio: 2023.1 AI-231.9392.1.2311.11330709 Xcode: 15.3/15E204a - /usr/bin/xcodebuild npmPackages: expo: ^51.0.0-canary-20240411-55a0085 => 51.0.0-canary-20240411-55a0085 react: 18.2.0 => 18.2.0 react-native: 0.74.0-rc.8 => 0.74.0-rc.8 npmGlobalPackages: eas-cli: 7.3.0 Expo Workflow: bare
Expo Doctor Diagnostics
✔ Check Expo config for common issues ✔ Check package.json for common issues ✔ Check dependencies for packages that should not be installed directly ✔ Check for issues with metro config ✔ Check for common project setup issues ✔ Check npm/ yarn versions ✖ Check Expo config (app.json/ app.config.js) schema Unexpected error while running ‘Check Expo config (app.json/ app.config.js) schema’ check: TypeError: Cannot read properties of undefined (reading ‘schema’) ✔ Check that native modules use compatible support package versions for installed Expo SDK ✔ Check that native modules do not use incompatible support packages ✔ Check for legacy global CLI installed locally ✔ Check that packages match versions required by installed Expo SDK ✔ Check native tooling versions One or more checks failed, indicating possible issues with the project.
About this issue
- Original URL
- State: open
- Created 3 months ago
- Reactions: 5
- Comments: 16 (2 by maintainers)
Commits related to this issue
- Defines module for React-jsinspector (#44252) Summary: Defines module for `React-jsinspector` that for swift modules to integrate with. to fix https://github.com/expo/expo/issues/28209, any podspec ... — committed to facebook/react-native by Kudo 2 months ago
- Defines module for React-jsinspector (#44252) Summary: Defines module for `React-jsinspector` that for swift modules to integrate with. to fix https://github.com/expo/expo/issues/28209, any podspec ... — committed to facebook/react-native by Kudo 2 months ago
Same issue on “expo”: “~50.0.17”,
having the same issue on
51.0.0-preview.0,expo-modules-core@1.12.0and rn 0.74 stable.Podfile:
Thank you for filing this issue! This comment acknowledges we believe this may be a bug and there’s enough information to investigate it. However, we can’t promise any sort of timeline for resolution. We prioritize issues based on severity, breadth of impact, and alignment with our roadmap. If you’d like to help move it more quickly, you can continue to investigate it more deeply and/or you can open a pull request that fixes the cause.
Same issue with “expo”: “^50.0.15” and RN 0.74 after updating RN from “react-native”: “^0.73.4” to 0.74.0.
Downgrading solved the issue by removing these dependencies that were installed with RN 0.74:
RCTDeprecation React-RuntimeApple React-RuntimeCore React-RuntimeHermes React-featureflags React-jsitracing