iosreact-nativefabric

XCode 16.2, RN 0.79.3 Multiple commands produce


After upgrading to RN 0.79.3 i started having this failing iOS build:

error Multiple commands produce '~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/RCTComponentViewHelpers.h'
error Multiple commands produce '~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h'
error Multiple commands produce '~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewComponentDescriptor.h'
error Multiple commands produce '~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h'
error Multiple commands produce '~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h'
error Multiple commands produce '~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.h'
error Multiple commands produce '~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h'
error Multiple commands produce '~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/conversions.h'
error Multiple commands produce '~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/primitives.h'
error Multiple commands produce '~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/consistency/ScopedShadowTreeRevisionLock.h'
error Multiple commands produce '~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/consistency/ShadowTreeRevisionConsistencyManager.h'
error Multiple commands produce '<Copy ~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/consistency/ScopedShadowTreeRevisionLock.h>'
error Multiple commands produce '<Copy ~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/consistency/ShadowTreeRevisionConsistencyManager.h>'
error Multiple commands produce '<Copy ~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/RCTComponentViewHelpers.h>'
error Multiple commands produce '<Copy ~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h>'
error Multiple commands produce '<Copy ~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewComponentDescriptor.h>'
error Multiple commands produce '<Copy ~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h>'
error Multiple commands produce '<Copy ~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h>'
error Multiple commands produce '<Copy ~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.h>'
error Multiple commands produce '<Copy ~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewState.h>'
error Multiple commands produce '<Copy ~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/conversions.h>'
error Multiple commands produce '<Copy ~/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/primitives.h>'
node:internal/process/promises:389
      new UnhandledPromiseRejection(reason);
      ^

UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "Error: Failed to build ios project. "xcodebuild" exited with error code '65'. To debug build logs further, consider building your app with Xcode.app, by opening 'MyApp.xcworkspace'.".
    at throwUnhandledRejectionsMode (node:internal/process/promises:389:7)
    at processPromiseRejections (node:internal/process/promises:470:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:96:32) {
  code: 'ERR_UNHANDLED_REJECTION'
}

XCode says detaily for each error like:

Target 'React-Fabric' (project 'Pods') has copy command from '/Users/radek/Desktop/work/myapp-fe/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/RCTComponentViewHelpers.h' to '/Users/radek/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/RCTComponentViewHelpers.h'

Target 'React-FabricComponents' (project 'Pods') has copy command from '/Users/radek/Desktop/work/myapp-fe/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/RCTComponentViewHelpers.h' to '/Users/radek/Library/Developer/Xcode/DerivedData/MyApp-busjatodvgaqfkaofsfubqrkrqmx/Build/node_modules/react-native/ReactCommon/react/renderer/components/scrollview/RCTComponentViewHelpers.h'

I found tons of threads about same error title, but always with different files or libraries.

What i tried:

I also tried to remove duplicate files in post_install like:

      if target.name == 'React-FabricComponents'
        target.headers_build_phase.files.each do |file|
          if file.display_name.include?('RCTComponentViewHelpers.h') ||
             file.display_name.include?('ScrollView')
            file.remove_from_project
          end
        end
      end
    end

Android builds, so the issue i have is only this one with iOS. Any other ideas?


Solution

  • Solved by these steps:

    1. Removed pods and Podfile.lock, clear DerivedData and clean build

    2. rvm use 3.4.5

    3. bundle install

    4. bundle exec pod install --repo-update

    5. gem install ffi -- --enable-libffi-alloc (for my M1 chip)