Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

268
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar

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 Denunciar

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 Denunciar

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda