facebook / react-native

A framework for building native applications using React
https://reactnative.dev
MIT License
118.24k stars 24.22k forks source link

0.61.5 → 0.62.0 RCTBridgeModule Error #28405

Closed erdemildiz closed 4 years ago

erdemildiz commented 4 years ago

I upgrade 0.61.5 → 0.62.0 version but getting below error

cannot initialize a parameter of type 'NSArray<id<RCTBridgeModule>> *' with an lvalue of type 'NSArray<Class> *__strong' NSArray<RCTModuleData *> *newModules = [self _initializeModules:modules withDispatchGroup:NULL lazilyDiscovered:YES];

React Native Info:

System:
    OS: macOS 10.15.3
    CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
    Memory: 63.01 MB / 8.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 10.15.3 - /usr/local/bin/node
    Yarn: 1.15.2 - ~/.yarn/bin/yarn
    npm: 6.4.1 - /usr/local/bin/npm
    Watchman: Not Found
  SDKs:
    iOS SDK:
      Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
    Android SDK:
      API Levels: 23, 25, 26, 27, 28, 29
      Build Tools: 27.0.3, 28.0.3, 29.0.0, 29.0.1, 29.0.2
      System Images: android-27 | Google Play Intel x86 Atom, android-28 | Intel x86 Atom, android-28 | Google APIs Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 3.5 AI-191.8026.42.35.6010548
    Xcode: 11.3.1/11C504 - /usr/bin/xcodebuild
  Languages:
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 16.13.1 => 16.13.1 
    react-native: 0.62.0 => 0.62.0 
  npmGlobalPackages:
    *react-native*: Not Found 

This line:

https://github.com/facebook/react-native/blob/6ce3f0a4f7495adb82e655d037dc4e5af462f955/React/CxxBridge/RCTCxxBridge.mm#L778

label-actions[bot] commented 4 years ago
:warning: Missing Environment Information
:information_source: Your issue may be missing information about your development environment. You can obtain the missing information by running react-native info in a console.
crobinson42 commented 4 years ago

Make sure you run pod repo update in the ios dir

erdemildiz commented 4 years ago

Unfortunately @crobinson42, pod repo update didn't work. I am getting same error from this lines;

https://github.com/facebook/react-native/blob/6ce3f0a4f7495adb82e655d037dc4e5af462f955/React/CxxBridge/RCTCxxBridge.mm#L329

https://github.com/facebook/react-native/blob/6ce3f0a4f7495adb82e655d037dc4e5af462f955/React/CxxBridge/RCTCxxBridge.mm#L773

https://github.com/facebook/react-native/blob/6ce3f0a4f7495adb82e655d037dc4e5af462f955/React/CxxBridge/RCTCxxBridge.mm#L832

TheSavior commented 4 years ago

Do you see this problem when creating a new project? If this issue doesn't occur in a new project, I recommend you create an issue on the upgrade-support repo instead. Sharing your issues when upgrading on that repo will improve the likelihood that you will find others with the same problem and find fixes. It also helps others find you! 😄

erdemildiz commented 4 years ago

@TheSavior I didn't try on new project. I will open this issue in upgrade-support

pjhaok commented 3 years ago

Did we able to solve this issue? I am also facing same issue on xcode 12.5 beta.

damikdk commented 3 years ago

Same here. Xcode 12.5 beta specific problem. Here is change log, just in case.

edrdesigner commented 3 years ago

This was fixed in the new rn version but if you don't want to upgrade

Add this post install script to your Podfile:

post_install do |installer|
    ## Fix for XCode 12.5 beta
    find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
    "_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")
end

End of the Podfile add this function:

def find_and_replace(dir, findstr, replacestr)
  Dir[dir].each do |name|
      text = File.read(name)
      replace = text.gsub(findstr,replacestr)
      if text != replace
          puts "Fix: " + name
          File.open(name, "w") { |file| file.puts replace }
          STDOUT.flush
      end
  end
  Dir[dir + '*/'].each(&method(:find_and_replace))
end

After adding this script, just run pod install command.

Happy Coding ❤️

artyom-developer commented 3 years ago

@edrdesigner Build failed No matching function for call to 'RCTBridgeModuleNameForClass'

Heeeelp how to fix this problem?

TreemboLuisDev commented 3 years ago

Having same problem here, but im at .61, the problem is with Xcode 12.5, the last version 12.4 didnt have this problem. image

dhyana1984 commented 3 years ago

This was fixed in the new rn version but if you don't want to upgrade

Add this post install script to your Podfile:

post_install do |installer|
    ## Fix for XCode 12.5 beta
    find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
    "_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")
end

End of the Podfile add this function:

def find_and_replace(dir, findstr, replacestr)
  Dir[dir].each do |name|
      text = File.read(name)
      replace = text.gsub(findstr,replacestr)
      if text != replace
          puts "Fix: " + name
          File.open(name, "w") { |file| file.puts replace }
          STDOUT.flush
      end
  end
  Dir[dir + '*/'].each(&method(:find_and_replace))
end

After adding this script, just run pod install command.

Happy Coding ❤️

I resolved the issue by this method and it's working pretty well in my side

ducnnguyen commented 3 years ago

@edrdesigner Build failed No matching function for call to 'RCTBridgeModuleNameForClass'

Heeeelp how to fix this problem?

You can try this. Using post install script of @edrdesigner above

post_install do |installer|
## Fix for XCode 12.5
     find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
    "_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")
    find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm",
    "RCTBridgeModuleNameForClass(module))", "RCTBridgeModuleNameForClass(Class(module)))")
end

Hope this helps

GalushkoVasiliy commented 3 years ago

@edrdesigner Build failed No matching function for call to 'RCTBridgeModuleNameForClass' Heeeelp how to fix this problem?

You can try this

post_install do |installer|
## Fix for XCode 12.5
find_and_replace("node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm",
    "RCTBridgeModuleNameForClass(module))", "RCTBridgeModuleNameForClass(Class(module)))")
end

Hope this helps

Its not work for me any ideas

giangdinh commented 3 years ago

This was fixed in the new rn version but if you don't want to upgrade

Add this post install script to your Podfile:

post_install do |installer|
    ## Fix for XCode 12.5 beta
    find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
    "_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")
end

End of the Podfile add this function:

def find_and_replace(dir, findstr, replacestr)
  Dir[dir].each do |name|
      text = File.read(name)
      replace = text.gsub(findstr,replacestr)
      if text != replace
          puts "Fix: " + name
          File.open(name, "w") { |file| file.puts replace }
          STDOUT.flush
      end
  end
  Dir[dir + '*/'].each(&method(:find_and_replace))
end

After adding this script, just run pod install command.

Happy Coding ❤️

Thanks it work for me in Xcode 12.5.

ptfly commented 3 years ago

I had two issues, these replaces did the job:

post_install do |installer|
      ## Fix for XCode 12.5
      find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
        "_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")
      find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm",
         "RCTBridgeModuleNameForClass(module))", "RCTBridgeModuleNameForClass(Class(module)))")
  end
mygithub877 commented 3 years ago
[!] An error occurred while processing the post-install hook of the Podfile.

[!] Specifying multiple `post_install` hooks is unsupported.

please help me

ptfly commented 3 years ago
[!] An error occurred while processing the post-install hook of the Podfile.

[!] Specifying multiple `post_install` hooks is unsupported.

please help me

You have to define the replace function as well (at the bottom of the Pods file):

def find_and_replace(dir, findstr, replacestr)
  Dir[dir].each do |name|
      text = File.read(name)
      replace = text.gsub(findstr,replacestr)
      if text != replace
          puts "Fix: " + name
          File.open(name, "w") { |file| file.puts replace }
          STDOUT.flush
      end
  end
  Dir[dir + '*/'].each(&method(:find_and_replace))
end
mygithub877 commented 3 years ago
[!] An error occurred while processing the post-install hook of the Podfile.

[!] Specifying multiple `post_install` hooks is unsupported.

please help me

You have to define the replace function as well (at the bottom of the Pods file):

def find_and_replace(dir, findstr, replacestr)
  Dir[dir].each do |name|
      text = File.read(name)
      replace = text.gsub(findstr,replacestr)
      if text != replace
          puts "Fix: " + name
          File.open(name, "w") { |file| file.puts replace }
          STDOUT.flush
      end
  end
  Dir[dir + '*/'].each(&method(:find_and_replace))
end

I have defined this function at the bottom of podfile But there are still some errors after running pod install

ducnnguyen commented 3 years ago

@mygithub877

[!] Specifying multiple `post_install` hooks is unsupported.

Call find_and_replace function on current post_install script, please don't define new post_install script

mygithub877 commented 3 years ago

@mygithub877

[!] Specifying multiple `post_install` hooks is unsupported.

Call find_and_replace function on current post_install script, please don't define new post_install script

[!] An error occurred while processing the post-install hook of the Podfile.

Permission denied @ rb_sysopen - Pods/FBRetainCycleDetector/FBRetainCycleDetector/Layout/Classes/FBClassStrongLayout.mm

What to do now?

iaroslav-ternovyi commented 3 years ago

Getting the same error node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm:307:13: No matching function for call to 'RCTBridgeModuleNameForClass'

iaroslav-ternovyi commented 3 years ago

Getting the same error node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm:307:13: No matching function for call to 'RCTBridgeModuleNameForClass'

So I was able to fix it by this code

find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm", "_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")
find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm", "RCTBridgeModuleNameForClass(module))", "RCTBridgeModuleNameForClass(Class(module)))")
find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm", "RCTBridgeModuleNameForClass(strongModule))", "RCTBridgeModuleNameForClass(Class(strongModule)))")

inserted iside post_install do |installer|

If you also getting 'atomic_notify_one<unsigned long>' is unavailable Do this as temporary fix.

artyom-developer commented 3 years ago

Getting the same error node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm:307:13: No matching function for call to 'RCTBridgeModuleNameForClass'

i was to fix it is update xcode after 2.5

sktan810 commented 3 years ago

Getting the same error node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm:307:13: No matching function for call to 'RCTBridgeModuleNameForClass'

So I was able to fix it by this code

find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm", "_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")
find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm", "RCTBridgeModuleNameForClass(module))", "RCTBridgeModuleNameForClass(Class(module)))")
find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm", "RCTBridgeModuleNameForClass(strongModule))", "RCTBridgeModuleNameForClass(Class(strongModule)))")

inserted iside post_install do |installer|

If you also getting 'atomic_notify_one<unsigned long>' is unavailable Do this as temporary fix.

this works. Thanks.

comradem commented 3 years ago

Hi. For me worked merge between the solutions from @ducnnguyen @giangdinh ` post_install do |installer|

Fix for XCode 12.5 beta

     find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
    "_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")
    find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm",
    "RCTBridgeModuleNameForClass(module))", "RCTBridgeModuleNameForClass(Class(module)))")

end end `

def find_and_replace(dir, findstr, replacestr) Dir[dir].each do |name| text = File.read(name) replace = text.gsub(findstr,replacestr) if text != replace puts "Fix: " + name File.open(name, "w") { |file| file.puts replace } STDOUT.flush end end Dir[dir + '*/'].each(&method(:find_and_replace)) end

devethan commented 3 years ago

Use patch-packages! I think writing above codes on the Podfile is not sure. Because above solution are the code that simply replace part of codes on the node_modules/react-native. This is not a responsibility of Podfile.

Here's my solution.

  1. yarn add -D patch-package
  2. Go to node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm and replace _initializeModules:(NSArray<id<RCTBridgeModule>> *)modules to _initializeModules:(NSArray<Class> *)modules
  3. Go to node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm and replace RCTBridgeModuleNameForClass(module)) to RCTBridgeModuleNameForClass(Class(module)))
  4. yarn patch-package react-native
  5. Then a patch file will be created. (Checkout the patch-package)
Monte9 commented 3 years ago

this solution ^^ by @devethan is the right approach! 💯 Fixed the issue for me!

Reppik commented 3 years ago

Worked for me perfectly. Thx @devethan

huseyintamer commented 3 years ago

I fix with RTCTTurboModuleManager.mm file 307: RCTBridgeModuleNameForClass(strongModule)); to 307: RCTBridgeModuleNameForClass([strongModule class]));

abra-ham commented 3 years ago

@devethan Thank you good sir. It works.

naojamg commented 3 years ago

This was fixed in the new rn version but if you don't want to upgrade

Add this post install script to your Podfile:

post_install do |installer|
    ## Fix for XCode 12.5 beta
    find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
    "_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")
end

End of the Podfile add this function:

def find_and_replace(dir, findstr, replacestr)
  Dir[dir].each do |name|
      text = File.read(name)
      replace = text.gsub(findstr,replacestr)
      if text != replace
          puts "Fix: " + name
          File.open(name, "w") { |file| file.puts replace }
          STDOUT.flush
      end
  end
  Dir[dir + '*/'].each(&method(:find_and_replace))
end

After adding this script, just run pod install command.

Happy Coding ❤️

This works great for me 💯

jinhale commented 3 years ago

I had two issues, these replaces did the job:

post_install do |installer|
      ## Fix for XCode 12.5
      find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
        "_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")
      find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm",
         "RCTBridgeModuleNameForClass(module))", "RCTBridgeModuleNameForClass(Class(module)))")
  end

How did you figure that out?

chramos commented 3 years ago

Congrats to Xcode that makes me lost many hours trying to solve a fucking issue that didn't exist before

josue22almo commented 3 years ago

Congrats to Xcode that makes me lost many hours trying to solve a fucking issue that didn't exist before

It nice to find quickly a solution for the newest problems. Thanks.

DanGDroid commented 3 years ago

@devethan is the man!!

ekram21 commented 3 years ago

@edrdesigner Build failed No matching function for call to 'RCTBridgeModuleNameForClass' Heeeelp how to fix this problem?

You can try this

post_install do |installer|
## Fix for XCode 12.5
find_and_replace("node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm",
    "RCTBridgeModuleNameForClass(module))", "RCTBridgeModuleNameForClass(Class(module)))")
end

Hope this helps

Its not work for me any ideas

Make Sure the two scripts are at the bottom of your pod-file and then use this as the post_installer script

post_install do |installer| find_and_replace("../node_modules/react native/React/CxxBridge/RCTCxxBridge.mm", "_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules") find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm", "RCTBridgeModuleNameForClass(strongModule))", "RCTBridgeModuleNameForClass(Class(strongModule)))") end

instead of Module for RCTBridgeModuleNameForClass its been updated to strongModule which worked for me

flutterq commented 3 years ago

[Solved] React Native / iOS SDK. No matching function for call to ‘RCTBridgeModuleNameForClass’ after update iOS SDK to 14.5

LPitonakova commented 3 years ago

@edrdesigner Build failed No matching function for call to 'RCTBridgeModuleNameForClass' Heeeelp how to fix this problem?

You can try this

post_install do |installer|
## Fix for XCode 12.5
find_and_replace("node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm",
    "RCTBridgeModuleNameForClass(module))", "RCTBridgeModuleNameForClass(Class(module)))")
end

Hope this helps

Its not work for me any ideas

Should say ../node_modules/react-native/

ana-nd-s commented 3 years ago

@edrdesigner I tried your solution but seems like there is something missing. I am getting another error while building on Xcode 12.5 building for iOS Simulator, but linking in object file built for iOS, for architecture arm64

glennperez commented 3 years ago

In my case I solved it by changing from 9.0 to 10.0 the line: platform: iso, from the Podfile file and then executing pod install --repo- -update.

eclecticjohny commented 3 years ago

Hey all. We implemented the solution in @edrdesigner original post and this fixed our compiling issues with this same error. Our app now compiles and runs locally on a simulator and on a physical device but our testflight builds crash immediately on load with __28-[RCTCxxBridge handleError:]_block_invoke + 704 (RCTCxxBridge.mm:965). Just seeing if anyone has a similar issue after using this fix.

comalex commented 3 years ago

Having same problem here, but im at .61, the problem is with Xcode 12.5, the last version 12.4 didnt have this problem. image

did you solve your issue?

vishwadeepghimirezph commented 3 years ago

Use patch-packages! I think writing above codes on the Podfile is not sure. Because above solution are the code that simply replace part of codes on the node_modules/react-native. This is not a responsibility of Podfile.

Here's my solution.

  1. yarn add -D patch-package
  2. Go to node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm and replace _initializeModules:(NSArray<id<RCTBridgeModule>> *)modules to _initializeModules:(NSArray<Class> *)modules
  3. Go to node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm and replace RCTBridgeModuleNameForClass(module)) to RCTBridgeModuleNameForClass(Class(module)))
  4. yarn patch-package react-native
  5. Then a patch file will be created. (Checkout the patch-package)

Thank you @devethan . Your solution worked for me.

strawberry-code commented 3 years ago

From the comment of @devethan I propose this bash script to be launched from root of the project:

DIR="node_modules"
if [ -d "$DIR" ]; then
        echo "fixing react files in ${DIR}..."
else
    echo "missing node_modules folder, are you running this script from the correct path?"
    exit 1
fi

TARGET_FILE="./node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm"
FROM="_initializeModules:(NSArray<id<RCTBridgeModule>>\ \*)modules"
TO="_initializeModules:(NSArray<Class>\ \*)modules"
sed -i -e "s/$FROM/$TO/g" $TARGET_FILE

TARGET_FILE="./node_modules/react-native/ReactCommon/turbomodule/core/platform/iOS/RCTTurboModuleManager.mm"
FROM="RCTBridgeModuleNameForClass(module))"
TO="RCTBridgeModuleNameForClass(Class(module)))"
sed -i -e "s/$FROM/$TO/g" $TARGET_FILE

echo "now RCTCxxBridge.mm and RCTTurboModuleManager.mm should be fixed"

Using patch-package should be the preferred way, but for someone like me that for some reasons couldn't use patch-package, this script could be a valid alternative. I put it in the post-install into package.json.

edgarbonillag commented 3 years ago

Hi everyone! I'm running RN v0.61.5 and this is what worked for me:

post_install do |installer|
    ## Fix for XCode 12.5
    find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
    "_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")
    find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm",
      "RCTBridgeModuleNameForClass(module))", "RCTBridgeModuleNameForClass([module class]))")
end

Notice the RCTBridgeModuleNameForClass([module class])) instead of the RCTBridgeModuleNameForClass(Class(module))) of other solutions above.

And at the very end of the Podfile:

def find_and_replace(dir, findstr, replacestr)
  Dir[dir].each do |name|
      text = File.read(name)
      replace = text.gsub(findstr,replacestr)
      if text != replace
          puts "Fix: " + name
          File.open(name, "w") { |file| file.puts replace }
          STDOUT.flush
      end
  end
  Dir[dir + '*/'].each(&method(:find_and_replace))
end

Thanks to all the ones who contributed to this thread!

Note: The patch-package solution didn't work for me, I don't really know why. The patch section for the file RCTTurboModuleManager.mm was generated but always returned an error at the moment of patching.

solutioner00 commented 3 years ago

I'm running RN v0.61.x This solution is working well. Thanks for your report.

post_install do |installer|

Fix for XCode 12.5

find_and_replace("../node_modules/react-native/React/CxxBridge/RCTCxxBridge.mm",
"_initializeModules:(NSArray<id<RCTBridgeModule>> *)modules", "_initializeModules:(NSArray<Class> *)modules")
find_and_replace("../node_modules/react-native/ReactCommon/turbomodule/core/platform/ios/RCTTurboModuleManager.mm",
  "RCTBridgeModuleNameForClass(module))", "RCTBridgeModuleNameForClass([module class]))")

end Notice the RCTBridgeModuleNameForClass([module class])) instead of the RCTBridgeModuleNameForClass(Class(module))) of other solutions above.

And at the very end of the Podfile:

def find_and_replace(dir, findstr, replacestr) Dir[dir].each do |name| text = File.read(name) replace = text.gsub(findstr,replacestr) if text != replace puts "Fix: " + name File.open(name, "w") { |file| file.puts replace } STDOUT.flush end end Dir[dir + '*/'].each(&method(:find_and_replace)) end

hb-abhilash commented 3 years ago

@devethan thank you. you save my day

DylanVerstraete commented 3 years ago

thanks @edgarbonillag I confirm your fix works for RN 0.61.5

russelRajitha commented 3 years ago

Congrats to Xcode that makes me lost many hours trying to solve a fucking issue that didn't exist before

dont think like that. As a developer you and everyone is trying to do something like they do. which we are giving some releases or updates to relevant clients, it can be a developer or customer or whoever just imaging someone blaming you for a buggy app or website. you know how much hard work behind that small update. look how many answers are there. rather than blaming just do some work around and be patient.

allthetime commented 3 years ago

@russelRajitha Well said! We're all in this together. I was very frustrated 20 minutes ago when I encountered these issues after upgrading macOS and XCode. But I have had issues like this before and I know that it's something to do with react-native & XCode compatibility and because of that that many people would have the same problem. Also, blaming XCode is missing the point... XCode doesn't exist solely to compile react-native apps and breaking changes to complex systems in constant development should be expected. React-native developers fixed the issue in the latest versions and so it seems entirely on the user to either upgrade, or to just humbly take the help of thousands of people that is readily available.