Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

263
Views
React Native 0.64 won't build iOS app after updating Xcode to 12.5 and iOS to 14.5

After upgrading Xcode to 12.5 and iOS to 14.5, I can't run the iOS app on a real device nor in the simulator.

After running npm run ios, I get this message:

The following build commands failed:
        CompileC .../Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Flipper-Folly.build/Objects-normal/x86_64/DistributedMutex.o /Users/guilherme/Documents/Dood/ios/Pods/Flipper-Folly/folly/synchronization/DistributedMutex.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler

If I try to run the app on a real device using Xcode, this is the error I get (related to Flipper-Folly):

.../ios/Pods/Headers/Private/Flipper-Folly/folly/synchronization/DistributedMutex-inl.h:1051:5: 'atomic_notify_one<unsigned long>' is unavailable

Ideas? Thanks!

UPDATE:

React native has been updated to 0.64.1. You can now just change your react-native dependency to this version within your package.json file, then run npm install

over 4 years ago · Santiago Trujillo
8 answers
Answer question

0

Upgrade to react native 0.64.1 (or higher)

if you moved from 0.63.x to 0.64.x make sure that in your Podfile you've updated the use_flipper! section post install:

Before:

post_install do |installer|
  flipper_post_install(installer)
end

After:

post_install do |installer|
  react_native_post_install(installer)
end

run 'npx react-native-clean-project' from project root then from inside './ios' folder run 'pod install --repo-update' then maybe run 'pod update'

over 4 years ago · Santiago Trujillo Report

0

use_flipper!({ 'Flipper-Folly' => '2.5.3', 'Flipper' => '0.87.0', 'Flipper-RSocket' => '1.3.1' })

that works, ;)

over 4 years ago · Santiago Trujillo Report

0

There is an open RN issue here: https://github.com/facebook/react-native/issues/31179

For me commenting out Flipper in the Podfile, pod install, and rebuild worked as a temp solution.

  # Enables Flipper.
  #
  # Note that if you have use_frameworks! enabled, Flipper will not work and
  # you should disable these next few lines.
  # use_flipper!
  # post_install do |installer|
  #   flipper_post_install(installer)
  # end
over 4 years ago · Santiago Trujillo Report

0

There's a solution I found here.

Add this to your post_install in your Podfile:

post_install do |installer|
  flipper_post_install(installer)

  ## Fix for Flipper-Folly on iOS 14.5
  find_and_replace("Pods/Flipper-Folly/folly/synchronization/DistributedMutex-inl.h",
    "atomic_notify_one(state)", "folly::atomic_notify_one(state)")

  find_and_replace("Pods/Flipper-Folly/folly/synchronization/DistributedMutex-inl.h",
    "atomic_wait_until(&state, previous | data, deadline)", "folly::atomic_wait_until(&state, previous | data, deadline)")
end

You'll also need to add the function def for this find_and_replace function (you can put this function anywhere in 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

Run pod install again and it should work. If you get an error relating to permissions while accessing the DistributedMutex-inl.h file, delete your /pods folder and run pod install again

You should see text print out that says Fix: Pods/Flipper-Folly/folly/synchronization/DistributedMutex-inl.h, etc. If you don't, double check the path in the find_and_replace call.

over 4 years ago · Santiago Trujillo Report

0

just comment out the flipper line in a pod and in Xcode also if you are not using it, hope this will fix in future updates.

# Note that if you have use_frameworks! enabled, Flipper will not work and
# you should disable the next line.
# use_flipper!({ 'Flipper' => '0.79.1'})
#   post_install do |installer|
#     react_native_post_install(installer)
#   end

IN Xcode comment all import and flipper variable

over 4 years ago · Santiago Trujillo Report

0

Solution without losing Flipper functionality:

Define the upgraded dependencies for Flipper in the Podfile

React Native 62

def add_flipper_pods!(versions = {})
  versions['Flipper'] ||= '~> 0.87.0' 👈
  versions['DoubleConversion'] ||= '1.1.7'
  versions['Flipper-Folly'] ||= '~> 2.5.3' 👈
  versions['Flipper-Glog'] ||= '0.3.6'
  versions['Flipper-PeerTalk'] ||= '~> 0.0.4'
  versions['Flipper-RSocket'] ||= '~> 1.3.1' 👈

React Native 63

# Enables Flipper.
  #
  # Note that if you have use_frameworks! enabled, Flipper will not work and
  # you should disable these next few lines.
  use_flipper!({'Flipper' => '0.87.0' 👈, 'Flipper-Folly' => '2.5.3' 👈, 'Flipper-RSocket' => '1.3.1' 👈})
  post_install do |installer|
    flipper_post_install(installer)
  end

cd ios && pod install and you should be good to go

React Native 64

Bump the version to 0.64.1 in the package.json

yarn install && pod install --repo-update && react-native run-ios

https://github.com/facebook/react-native/releases/tag/v0.64.1

over 4 years ago · Santiago Trujillo Report

0

React native 0.64.1 has been released and will solve this. Just update the version number in package.json.

"react-native": "0.64.1",

No need to modify the Podfile if you do this

over 4 years ago · Santiago Trujillo Report

0

I know this is already answered, but for those who find this thread in the future there is an official link addressing this issue:

Xcode 12.5 troubleshooting guide (RN 0.61/0.62/0.63/0.64)

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!