Estoy tratando de ejecutar mi aplicación React Native en XCode y sigo recibiendo este error. No puedo entender cómo resolver el problema. ¿Alguna sugerencia?
Captura de pantalla de error en XCode:
Estoy tratando de ejecutar mi aplicación React Native en XCode y sigo recibiendo este error. No puedo entender cómo resolver el problema. ¿Alguna sugerencia?
Captura de pantalla de error en XCode:
Respuestas:
Elimine los módulos de nodo, luego ejecute npm install
(o mejor aún, hilado) y una vez que todo haya terminado de descargar, ejecute lo react-native upgrade
que debería darle la opción de reemplazar los archivos antiguos con los de la plantilla, al hacerlo, vuelva a vincular sus dependencias nativas en react-native que Debería solucionar su problema. Por supuesto, no olvides limpiar tu proyecto en Xcode.
react-native upgrade
se eliminaron todas las configuraciones de compilación.
xcode Product-> Scheme-> Manage Schemes, haga clic en '+' en el Destino para seleccionar "Reaccionar" y configurar la Reacción compartida.
Para todos aquellos que usan React Native 0.40.0 o superior, las Importaciones de encabezado tienen un cambio importante desde RN 0.40.0 y dan como resultado muchos errores de archivo .h no encontrados. react-native-git-upgrade
Se solucionó el problema mientras estaba en depuración, pero la compilación falla en el lanzamiento / archivo.
Estoy usando RN 0.42.3 con cocoapods y Xcode 8.2.1
Para arreglar esto completamente, vaya a Xcode> Producto> Esquema> Editar esquema>
Ahora limpia el proyecto y construye
Ninguna de las otras sugerencias solucionó mi error, pero esta lo hizo.
Cree un archivo llamado ios/Podfile
dentro de su aplicación react-native con los siguientes contenidos:
# You Podfile should look similar to this file. React Native currently does not support use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target '<YOUR_APP_NAME>' do
# Fixes required for pod specs to work with rn 0.42
react_native_path = "../node_modules/react-native"
pod "Yoga", :path => "#{react_native_path}/ReactCommon/yoga"
pod "React", :path => react_native_path, :subspecs => [
'Core',
'RCTActionSheet',
'RCTAnimation',
'RCTGeolocation',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket'
]
pod 'GoogleMaps' # <~~ remove this line if you do not want to support GoogleMaps on iOS
# when not using frameworks we can do this instead of including the source files in our project (1/4):
# pod 'react-native-maps', path: '../../'
# pod 'react-native-google-maps', path: '../../' # <~~ if you need GoogleMaps support on iOS
end
Ejecute el comando pod install
desde el interior de la carpeta ios.
Reinicie XCode y el error debería desaparecer.
Me encontré con este problema después de mi primer intento de ejecutar una compilación React en XCode, y todo lo que tuve que hacer fue compilar y ejecutar para que el error desapareciera (después de elegir un equipo y un aprovisionamiento adecuado). A veces, XCode muestra errores que no son realmente errores hasta que compila y vincula las cosas la primera vez.
La solución que funciona para mí es compartir el React
esquema.
Si no tiene el esquema React, cree uno nuevo Selecting scheme menu -> Manage Scheme -> + -> choose React
, luego marque el esquema React como Compartido
Además, si usa Xcode 10, vaya File -> Project Settings
y seleccione Sistema de compilación heredado
Resolví este problema siguiendo los pasos:
React.xcodeproj
desde Libraries
a la raíz del proyecto.SaleKit
) enTARGETS
Build Phases
Target Dependencies
agregarReact
Para mi caso en ReactNative "0.54.2", lo resolví con la siguiente solución
En Xcode select Product->Scheme->Manage Schemes
, desmarque 'YourProject'-tvOS configúrelo como No compartido
Mejor solución :
Abra 'Configuración de compilación' para su proyecto en Xcode, busque 'Ruta de búsqueda de encabezado'.
Haga doble clic al lado de 'Ruta de búsqueda de encabezado', donde otras propiedades tienen un 'sí' o 'no'
Ahora agregue lo siguiente a la "Ruta de búsqueda de encabezado" (en Configuración de compilación):
$(SRCROOT)/../node_modules/react-native/React
$(SRCROOT)/../node_modules/react-native/React/Base
No te olvides Haz que ambos sean recursivos.
Ejecute npm install
en el directorio de su proyecto para instalar react-native
resolviendo este error.
En el directorio base del proyecto que ejecuto:
node_modules/react-native/packager/packager.sh --reset-cache
Lo que resultó en:
Scanning 554 folders for symlinks in /Users/..../work/..../react_tutorial/AwesomeProject/node_modules (15ms)
┌────────────────────────────────────────────────────────────────────────────┐
│ Running packager on port 8081. │
│ │
│ Keep this packager running while developing on any JS projects. Feel │
│ free to close this tab and run your own packager instance if you │
│ prefer. │
│ │
│ https://github.com/facebook/react-native │
│ │
└────────────────────────────────────────────────────────────────────────────┘
Looking for JS files in
/Users/..../work/...../react_tutorial/AwesomeProject
Loading dependency graph... ERROR Packager can't listen on port 8081
Most likely another process is already using this port
Run the following command to find out which process:
lsof -i :8081
Descubrí que el administrador de paquetes no puede ejecutarse cuando se está ejecutando otro proceso de empaquetador.
Encontré el proceso ejecutándose con:
lsof -i :8081
Que yo kill 9 ...
el proceso.
Después de que cerré Xcode, ejecute:
npm install
¡Y comenzó Xcode nuevamente, desde este momento todo funciona como se esperaba!
Tuve el mismo problema y lo solucioné colocando RNFIRMessaging.h sobre el React / RCTBundleURLProvider.h
Entonces parece que me veré así:
#import "AppDelegate.h"
#import "RNFIRMessaging.h"
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
Intenta lo siguiente:
Me enfrenté al mismo problema. Luego eliminé el nodo .try para usar estos pasos
luego crea y ve
Para mí reemplazar
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
por
#import <RCTBundleURLProvider.h>
#import <RCTRootView.h>
en AppDelegate.m el archivo funcionó.
Si no has corrido npm install
, es probable que encuentres este problema.
He revisado todas las respuestas mencionadas anteriormente.
Aquí está la solución que funcionó para mí:
PASO 1:
Correr:
npm install react-native-fcm --save
Esto da como resultado la creación del directorio en su proyecto en node_modules> react-native-fcm
PASO 2:
Debe agregar '$(SRCROOT)/../node_modules/react-native-fcm/ios'
a las rutas de búsqueda de encabezado en la configuración de construcción.
Estos 2 pasos me funcionaron para eliminar el error.
Para más detalles puede ir a través de estos enlaces:
Para mi caso, no pude eliminar node_modules y volver a instalar y tampoco pude hacerlo react-native-git-updgrade
o react-native upgrade
porque quería permanecer en RN-0.59 porque .60 causa problemas para mis dependencias.
De todos modos, mi situación era que me faltaba el archivo 'React / RCTBundleURLProvider.h'. Ya tenía React disponible en mis esquemas. No estaba en mi directorio de bibliotecas. Verifiqué la configuración de compilación de mi objetivo .
Dentro de las dependencias objetivo, también tenía React allí.
Eliminé la dependencia de destino 'Reaccionar', luego volví a agregar. Limpiar carpetas de compilación, proyecto reconstruido. funcionó.
Estoy usando React Native 0.61. Creé una extensión para compartir y recibí este error. Necesitaba reemplazar:
#import "RCTBundleURLProvider.h"
con
#import "React/RCTBundleURLProvider.h"
necesitas instalar react native, en terminal run
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
luego
brew install node
brew install watchman
npm install -g react-native-cli
fuente:
https://facebook.github.io/react-native/docs/getting-started.html
Asegúrese de que la ruta a su proyecto no tenga espacios. Solo cambiar el nombre de las carpetas y eliminar espacios me resuelve el problema.