ios - run - No se encontró el archivo "RCTBundleURLProvider.h"-AppDelegate.m
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.
Descubrí que mi solución a este problema después de actualizar React era cambiar la declaración de
#import "RCTBundleURLProvider.h"
a
#import <React/RCTBundleURLProvider.h>
Ejecute
npm install
en el directorio de su proyecto para instalar
react-native
resolviendo este error.
Elimine los módulos de nodo, luego ejecute
npm install
(o mejor aún, hilo) y después de que todo haya terminado de descargar, ejecute la
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 su dependencias en react-native que deberían solucionar su problema.
Por supuesto, no olvides limpiar tu proyecto en Xcode.
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
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!
Es posible que esté ejecutando el archivo
.xcodeproj
después de instalar el pod.
.xcworkspace
y abra el archivo
.xcworkspace
.
Funcionó para mi.
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:
''$(SRCROOT)/../node_modules/react-native-fcm/ios''
agregar
''$(SRCROOT)/../node_modules/react-native-fcm/ios''
a las rutas de búsqueda de encabezado en la configuración de compilación.
Estos 2 pasos me funcionaron para eliminar el error.
Para más detalles puede ir a través de estos enlaces:
Intenté todas las sugerencias y ninguna de ellas funcionó, eliminé el repositorio y lo cloné nuevamente, y eso funcionó para mí, así que mi sugerencia es que confirme sus cambios y clone el repositorio nuevamente que funcionó para mí.
Intenta lo siguiente:
- Limpio ( cmd + shift + K ).
- Build core React: seleccione React como el esquema en Xcode y compílelo ( cmd + B ).
- Construya la biblioteca que falla (por ejemplo, RCTText).
- Crea tu aplicación.
La solución que funciona para mí es compartir el esquema
React
.
Si no tiene el esquema React, cree uno nuevo
Selecting scheme menu -> Manage Scheme -> + -> choose React
, luego marque Reaccionar esquema como Compartido
Además, si usa Xcode 10, vaya a
File -> Project Settings
y seleccione Sistema de compilación heredado
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.
Me enfrenté al mismo problema. Luego eliminé el nodo .try para usar estos pasos
- Eliminar la carpeta node_modules - rm -rf node_modules && npm install
- Restablecer caché del empaquetador - rm -fr $ TMPDIR / react- * o node_modules / react-native / packager / packager.sh --reset-cache
- Relojes clear watchman - watchman watch-del-all
luego crea y ve
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 olvide Hacer que ambos sean recursivos.
Ninguna de las otras sugerencias solucionó mi error, pero esta lo hizo.
1 - Crear Podfile
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
2 - Instalar Podfile
Ejecute el comando
pod install
desde el interior de la carpeta ios.
3 - Restablecer XCode
Reinicie XCode y el error debería desaparecer.
Para mi caso en ReactNative "0.54.2", lo resolví con la siguiente solución
En Xcode, seleccione
Product->Scheme->Manage Schemes
, desmarque ''YourProject''-tvOS configúrelo como No compartido
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
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>
- Desactivar Construir en paralelo
- Haga clic en el botón + en Objetivos y agregue Reaccionar
- Arrastre el React agregado a la parte superior de la Lista en Objetivos.
Ahora limpia el proyecto y construye
Resolví este problema siguiendo los pasos:
- En xcode, elija la raíz del proyecto.
-
Arrastre
React.xcodeproj
desdeLibraries
a la raíz del proyecto. -
Haga clic en el nombre del proyecto (en mi caso, nombre
SaleKit
) enSaleKit
-
Elige
Build Phases
-
En el menú desplegable de
Target Dependencies
deTarget Dependencies
agregueReact
- Reconstruir o volver a ejecutar
Si no ha ejecutado la
npm install
, es probable que encuentre este problema.
Tuve el mismo problema y lo solucioné colocando RNFIRMessaging.h sobre React / RCTBundleURLProvider.h
Entonces parece que me veré así:
#import "AppDelegate.h"
#import "RNFIRMessaging.h"
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
haga clic en Producto-> Esquema-> Administrar esquemas -> +. y luego agregue reaccionar como compartido. También asegúrese de que el nombre de su proyecto esté allí también.
necesitas instalar react native, en terminal run
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
entonces
brew install node
brew install watchman
npm install -g react-native-cli
fuente:
https://facebook.github.io/react-native/docs/getting-started.html
xcode Product-> Scheme-> Manage Schemes, haga clic en ''+'' en el Destino para seleccionar "Reaccionar" y configurar la Reacción compartida.