react / react/react-native

Libraries using `includesGeneratedCode: true` that pre-generated their codegen output with React Native < 0.84 fail to compile on iOS when consumed by an RN 0.84 app.

Aperta
#55,544 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Needs: Triage :mag: Platform: iOS Type: New Architecture
Lingua principale
C++
Stelle
127k
Fork
25.3k
Merge medio
1g 23h
PR unite (30g)
4

Descrizione

Description

PR #54919 ("Fix backwards-compat for ModuleConstants<::Builder>"), merged Dec 17 2025 and shipped in 0.84.0, introduced a ResultT type alias requirement in Constants::Builder structs. The updated RCTTypedModuleConstants.h now resolves the constants type via Builder::ResultT, but libraries with pre-shipped codegen (generated by older RN versions) don't have this alias.

The catch-22

Regenerating codegen with @react-native/codegen@0.84.0 produces output with completely different JSI structure (no Delegate class, methodMap_ pattern instead, ModuleConstants<Constants> vs ModuleConstants<Builder>) that is incompatible with older RN versions. This means there is no single codegen version that produces output working across both pre-0.84 and 0.84+ apps.

Documentation promise

The codegen-cli documentation states:

No need to worry about Codegen version mismatch between what is used by the app, and what was used during library development.

This implies that includesGeneratedCode provides forwards compatibility — the shipped codegen output should work with future RN versions. The ResultT change in 0.84 breaks this contract.

Impact on library developers

Library developers who need to support a range of RN versions (e.g. 0.70+ through 0.84) are left with no clean solution:

  • Option A: Generate with old codegen → broken on 0.84+
  • Option B: Generate with 0.84 codegen → broken on older versions
  • Option C: Manually patch using ResultT = Constants; into old-codegen output → works, but fragile, undocumented, and defeats the purpose of includesGeneratedCode

This is especially problematic for SDKs with large enterprise customers who cannot easily migrate React Native versions but still expect support for new SDK features and bug fixes.

Suggested fix

The ResultT resolution in RCTTypedModuleConstants.h should gracefully handle the case where Builder::ResultT doesn't exist (e.g. fall back to checking for Builder::build() return type, or default to the existing Builder behavior). This would maintain true backwards compatibility for libraries with pre-shipped codegen.

Alternatively, the codegen CLI docs should clearly document:

  1. Which RN versions' codegen output is compatible with which app versions
  2. That includesGeneratedCode does NOT guarantee forwards compatibility
  3. A recommended workaround for library developers supporting multiple RN versions

Steps to reproduce

  1. Create a TurboModule library with getConstants() and includesGeneratedCode: true
  2. Generate codegen with RN 0.77 (or any version < 0.84)
  3. Create an RN 0.84 app that consumes the library
  4. Build for iOS with New Architecture enabled
  5. Observe the no type named 'ResultT' compilation error

React Native Version

0.84.0

Affected Platforms

Build - iOS (New Architecture)

Related

  • #54919 — PR that introduced the ResultT requirement
  • #48621 — includesGeneratedCode doesn't prevent app-level codegen parsing
  • reactwg/react-native-new-architecture#272 — Discussion about codegen backwards compatibility
Steps to reproduce
  1. Create a library which includes generated codegen artifacts
  2. Generate the artifacts in any version below 0.84.x, for example 0.77.x
  3. Import the library in a sample running RN 0.84.x
  4. Attempt to build on iOS, it will fail due to missing type
React Native Version

0.84.0

Areas

Codegen

Output of npx @react-native-community/cli info
info Fetching system and libraries information...
System:
  OS: macOS 15.3
  CPU: (10) arm64 Apple M1 Pro
  Memory: 131.97 MB / 32.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 24.8.0
    path: /Users/konradgapinski/.asdf/installs/nodejs/24.8.0/bin/node
  Yarn: Not Found
  npm:
    version: 11.6.0
    path: /Users/konradgapinski/.asdf/plugins/nodejs/shims/npm
  Watchman: Not Found
Managers:
  CocoaPods:
    version: 1.16.2
    path: /Users/konradgapinski/.asdf/shims/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 24.2
      - iOS 18.2
      - macOS 15.2
      - tvOS 18.2
      - visionOS 2.2
      - watchOS 11.2
  Android SDK:
    API Levels:
      - "27"
      - "28"
      - "29"
      - "30"
      - "31"
      - "32"
      - "33"
      - "34"
      - "35"
      - "36"
    Build Tools:
      - 30.0.2
      - 30.0.3
      - 32.0.0
      - 33.0.0
      - 33.0.1
      - 33.0.2
      - 33.0.3
      - 34.0.0
      - 35.0.0
      - 36.0.0
      - 36.1.0
    System Images:
      - android-34 | Google APIs ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2025.2 AI-252.25557.131.2521.14432022
  Xcode:
    version: 16.2/16C5032a
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 21.0.9
    path: /usr/bin/javac
  Ruby:
    version: 3.2.1
    path: /Users/konradgapinski/.asdf/shims/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 20.1.0
    wanted: 20.1.0
  react:
    installed: 19.2.3
    wanted: 19.2.3
  react-native:
    installed: 0.84.0
    wanted: 0.84.0
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true
Stacktrace or Logs
Showing Recent Errors Only
CompileC /Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/scandit-react-native-datacapture-core.build/Objects-normal/arm64/ScanditDataCaptureCore-f2d19fb949f3dc68ad8bf1fdb06dc3e3.o /Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/node_modules/scandit-react-native-datacapture-core/ios/Sources/ScanditDataCaptureCore.mm normal arm64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'scandit-react-native-datacapture-core' from project 'Pods')
    cd /Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods
    /Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/../../node_modules/react-native/scripts/xcode/ccache-clang.sh -x objective-c++ -target arm64-apple-ios15.1 -fmessage-length\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\=0 -fno-color-diagnostics -std\=c++20 -stdlib\=libc++ -fobjc-arc -fmodules -fmodules-cache-path\=/Users/konradgapinski/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -fmodules-prune-interval\=86400 -fmodules-prune-after\=345600 -fbuild-session-file\=/Users/konradgapinski/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\=non-modular-include-in-framework-module -Wno-trigraphs -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -fpascal-strings -O0 -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror\=return-type -Wdocumentation -Wunreachable-code -Wno-implicit-atomic-properties -Werror\=deprecated-objc-isa-usage -Wno-objc-interface-ivars -Werror\=objc-root-class -Wno-arc-repeated-use-of-weak -Wimplicit-retain-self -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wdeprecated-implementations -Wno-c++11-extensions -Wno-implicit-fallthrough -DPOD_CONFIGURATION_DEBUG\=1 -DDEBUG\=1 -DCOCOAPODS\=1 -DOBJC_OLD_DISPATCH_PROTOTYPES\=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.2.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -Winvalid-offsetof -g -Wno-sign-conversion -Winfinite-recursion -Wmove -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wrange-loop-analysis -Wno-semicolon-before-method-body -Wunguarded-availability -index-store-path /Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Index.noindex/DataStore -iquote /Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/scandit-react-native-datacapture-core.build/scandit-react-native-datacapture-core-generated-files.hmap -I/Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/scandit-react-native-datacapture-core.build/scandit-react-native-datacapture-core-own-target-headers.hmap -I/Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/scandit-react-native-datacapture-core.build/scandit-react-native-datacapture-core-all-non-framework-target-headers.hmap -ivfsoverlay /Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/Pods-8699adb1dd336b26511df848a716bd42-VFS-iphoneos/all-product-headers.yaml -iquote /Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/scandit-react-native-datacapture-core.build/scandit-react-native-datacapture-core-project-headers.hmap -I/Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Products/Debug-iphoneos/scandit-react-native-datacapture-core/include -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Private -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Private/scandit-react-native-datacapture-core -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/FBLazyVector -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/RCTRequired -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/RCTSwiftUIWrapper -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/RCTTypeSafety -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-Core -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-Core-prebuilt -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-CoreModules -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-Fabric -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-FabricComponents -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-FabricImage -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-ImageManager -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-Mapbuffer -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-NativeModulesApple -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-RCTAnimation -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-RCTBlob -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-RCTFBReactNativeSpec -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-RCTFabric -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-RCTImage -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-RCTRuntime -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-RCTText -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-RuntimeApple -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-RuntimeCore -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-RuntimeHermes -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-callinvoker -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-cxxreact -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-debug -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-defaultsnativemodule -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-domnativemodule -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-featureflags -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-featureflagsnativemodule -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-graphics -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-hermes -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-idlecallbacksnativemodule -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-intersectionobservernativemodule -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-jserrorhandler -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-jsi -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-jsiexecutor -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-jsinspector -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-jsinspectorcdp -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-jsinspectornetwork -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-jsinspectortracing -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-jsitooling -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-logger -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-microtasksnativemodule -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-networking -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-oscompat -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-perflogger -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-performancecdpmetrics -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-performancetimeline -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-rendererconsistency -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-renderercss -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-rendererdebug -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-runtimeexecutor -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-runtimescheduler -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-timing -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-utils -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/React-webperformancenativemodule -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/ReactCodegen -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/ReactCommon -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/ReactNativeDependencies -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/Yoga -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/hermes-engine -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/scandit-datacapture-frameworks-core -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/scandit-react-native-datacapture-core -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/node_modules/scandit-react-native-datacapture-core/ios/generated -I/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Private/Yoga -I/Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/scandit-react-native-datacapture-core.build/DerivedSources-normal/arm64 -I/Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/scandit-react-native-datacapture-core.build/DerivedSources/arm64 -I/Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/scandit-react-native-datacapture-core.build/DerivedSources -F/Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Products/Debug-iphoneos/scandit-react-native-datacapture-core -F/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/shared/ios/scandit-datacapture-frameworks-core/Frameworks -F/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/React-Core-prebuilt -F/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/ReactNativeDependencies/framework/packages/react-native -F/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/hermes-engine/destroot/Library/Frameworks/universal -F/Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Products/Debug-iphoneos/XCFrameworkIntermediates/React-Core-prebuilt -F/Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Products/Debug-iphoneos/XCFrameworkIntermediates/ReactNativeDependencies -F/Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Products/Debug-iphoneos/XCFrameworkIntermediates/hermes-engine/Pre-built -F/Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Products/Debug-iphoneos/XCFrameworkIntermediates/scandit-datacapture-frameworks-core -DRCT_REMOVE_LEGACY_ARCH\=1 -fmodule-map-file\=/Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Products/Debug-iphoneos/RCTSwiftUI/RCTSwiftUI.modulemap -fmodule-map-file\=/Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Products/Debug-iphoneos/scandit-datacapture-frameworks-core/ScanditFrameworksCore.modulemap -fmodule-map-file\=/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/ReactCodegen/ReactCodegen.modulemap -DRCT_REMOVE_LEGACY_ARCH\=1 -DRCT_NEW_ARCH_ENABLED\=1 -DRCT_NEW_ARCH_ENABLED\=1 -w -Xanalyzer -analyzer-disable-all-checks -include /Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Target\ Support\ Files/scandit-react-native-datacapture-core/scandit-react-native-datacapture-core-prefix.pch -MMD -MT dependencies -MF /Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/scandit-react-native-datacapture-core.build/Objects-normal/arm64/ScanditDataCaptureCore-f2d19fb949f3dc68ad8bf1fdb06dc3e3.d --serialize-diagnostics /Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/scandit-react-native-datacapture-core.build/Objects-normal/arm64/ScanditDataCaptureCore-f2d19fb949f3dc68ad8bf1fdb06dc3e3.dia -c /Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/node_modules/scandit-react-native-datacapture-core/ios/Sources/ScanditDataCaptureCore.mm -o /Users/konradgapinski/Library/Developer/Xcode/DerivedData/DebugApp-aqezihaevrrbhcgvbvgonkjjisow/Build/Intermediates.noindex/Pods.build/Debug-iphoneos/scandit-react-native-datacapture-core.build/Objects-normal/arm64/ScanditDataCaptureCore-f2d19fb949f3dc68ad8bf1fdb06dc3e3.o

In file included from /Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/node_modules/scandit-react-native-datacapture-core/ios/Sources/ScanditDataCaptureCore.mm:9:
In file included from /Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/node_modules/scandit-react-native-datacapture-core/ios/Sources/ScanditDataCaptureCore.h:16:
In file included from /Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/node_modules/scandit-react-native-datacapture-core/ios/generated/ScanditReactNativeDatacaptureCoreSpec/ScanditReactNativeDatacaptureCoreSpec.h:25:
/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/RCTTypeSafety/RCTTypeSafety/RCTTypedModuleConstants.h:62:28: error: no type named 'ResultT' in 'JS::NativeScanditDataCaptureCore::Constants::Builder'
   62 |   using type = typename T::ResultT;
      |                ~~~~~~~~~~~~^~~~~~~
/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/RCTTypeSafety/RCTTypeSafety/RCTTypedModuleConstants.h:73:1: note: in instantiation of template class 'facebook::react::detail::ResolveConstantsType<JS::NativeScanditDataCaptureCore::Constants::Builder>' requested here
   73 | using ModuleConstants = _RCTTypedModuleConstants<void (^)(typename detail::ResolveConstantsType<T>::type)> *;
      | ^
In file included from /Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/node_modules/scandit-react-native-datacapture-core/ios/Sources/ScanditDataCaptureCore.mm:9:
In file included from /Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/node_modules/scandit-react-native-datacapture-core/ios/Sources/ScanditDataCaptureCore.h:16:
/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/node_modules/scandit-react-native-datacapture-core/ios/generated/ScanditReactNativeDatacaptureCoreSpec/ScanditReactNativeDatacaptureCoreSpec.h:73:21: note: in instantiation of template type alias 'ModuleConstants' requested here
   73 | - (facebook::react::ModuleConstants<JS::NativeScanditDataCaptureCore::Constants::Builder>)constantsToExport;
      |                     ^
1 error generated.

/Users/konradgapinski/worktrees/SDC-29924/data-capture-sdk/frameworks/react-native/compatibility-check/latest/new-arch/DebugApp/ios/Pods/Headers/Public/RCTTypeSafety/RCTTypeSafety/RCTTypedModuleConstants.h:62:28: No type named 'ResultT' in 'JS::NativeScanditDataCaptureCore::Constants::Builder'
MANDATORY Reproducer

https://github.com/konradgapinski/RN-0.84.x-Codegen-Breaking-Changes#

Screenshots and Videos

No response

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia da RCTTypedModuleConstants.h e dalla PR #54919 per capire come Constants::Builder risolve ResultT. Riproduci il problema di iOS New Architecture usando codice generato prima della versione 0.84 in un’app RN 0.84, quindi verifica la compatibilità tra le versioni descritte; esamina la documentazione della CLI codegen per eventuali aggiornamenti necessari alle istruzioni.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp, ios
Ambito
build-system, mobile-dev
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
50/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.