Recibiendo este error al compilar una aplicación iOS nativa de reacción en xcode.
Comenzó a recibir este error después de la instalación de npm y rpm vinculando la biblioteca react-native-fs . Pero después de buscar una solución en línea, noté que muchas personas están obteniendo el mismo error al instalar otras bibliotecas nativas react.
Una posible solución sugerida por muchos es agregar lo siguiente en "Configuración de compilación" -> "Rutas de búsqueda de encabezado".
$(SRCROOT)/../node_modules/react-native/React
- (recursivo)
Pero no tuve suerte con esta solución, todavía aparece el mismo error
react-native-webrtc
Respuestas:
En mi caso, este problema en particular ocurrió cuando estaba tratando de archivar una aplicación nativa de reacción 0.40+ para iOS (la solución se encontró aquí: la compilación confiable
^0.39.2
falla al actualizar a^0.40.0
).Lo que sucedió fue que Xcode estaba tratando de construir bibliotecas nativas de reacción en paralelo y estaba construyendo bibliotecas con dependencias de reacción implícitas antes de construir la biblioteca de reacción.
La solución en mi caso fue:
Deshabilite las compilaciones paralelas:
Agregar reaccionar como una dependencia del proyecto
fuente
Asegúrese de deshabilitar
Parallelise Build
y agregar unReact
objetivo por encima de su objetivofuente
CORRECCIÓN RÁPIDA (no es la mejor)
Cambie las líneas de encabezado de importación react-native:
A:
Aquí hay un ejemplo de los cambios que tuve que hacer para la biblioteca que estaba tratando de usar: Cierra # 46 - No se encontró el archivo 'RCTBridgeModule.h' .
fuente
#import <React/RCT...h>
? confirmar aquí#import "RCTBridgeModule.h"
realmente funcionó mejor para mí hoy.Cambio
a
fuente
Para los espectadores que obtuvieron este error después de actualizar React Native a 0.40+, es posible que deba ejecutar
react-native upgrade
en la línea de comandos.fuente
Si
Libraries/React.xcodeproj
están en rojo en xcode, reinstale node_modulesMi proyecto recién creado de react-native 0.46.3 era rojo: SI tengo npm 5.3.0 y yarn 0.24.5 cuando hice react-native init
fuente
Las últimas versiones de bibliotecas nativas de reacción como se explica en publicaciones anteriores y aquí tienen cambios de compatibilidad importantes. Si aún no planea actualizar a react-native 0.40+, puede forzar la instalación de la versión anterior de la biblioteca, por ejemplo con react-native-fs:
fuente
Pude crear una depuración, pero no pude crear un archivo.
Resolví este problema arrastrando lo que se
React.xcodeproj
encuentra en / node_modules / react-native / React a mi directorio raíz en Xcode, luego agregué React como una dependencia de destino en las fases de compilación> dependencias de destino.fuente
React.xcodeproj
en/node_modules/react-native/React
.react-native run-ios
, obtengo errores de compilación que no ocurren en Xcode. La falta total de documentación relevante es frustrante.Después de React Native 0.60, este problema a menudo es causado por una biblioteca vinculada combinada con la nueva función de 'autoenlace'. Esto me lo arregla
Desvincular biblioteca antigua usando
Actualizar la integración de Pods usando
Ahora recargue su espacio de trabajo y haga una construcción limpia.
fuente
Este error apareció para mí después de ejecutar el
pod install
comando para las nuevas dependencias. Junto con esos, React también se había instalado. Por lo tanto, probablemente Xcode se confundió con la ruta. Eliminé estas líneas de PodFile y el error desapareció. Tenga en cuenta que los eliminados de aquí ya estaban vinculados en Xcode.fuente
Para mí, este error ocurrió cuando agregué un nuevo esquema / objetivo ( app.staging ) en la aplicación e instalé pods usando la instalación de pod.
Este problema se debe a que los pods no se comparten para todos los destinos. Así que necesito agregar el destino recién agregado ( app.staging ) dentro del Podfile .
Aquí está mi Podfile.
fuente
Recibo este error en cualquier módulo nuevo que creo con create-react-native-module . Ninguna de las soluciones publicadas funcionó para mí.
Lo que funcionó para mí fue primero asegurarme de ejecutar
yarn
en la carpeta del módulo recién creado para crearnode_modules/
(este paso es probablemente obvio). Luego, en XCode, seleccione Producto -> Esquema -> Reaccionar en lugar de la selección predeterminada de MyModuleName.fuente
pod install
. create-react-native-module no parece hacer esto por usted. Me hizo colgar por un tiempo. Pero esto funcionó para mí una vez que creé un podfile válido y ejecuté la instalación.Vaya a la carpeta de iOS en su proyecto e instale el pod -
Si recibe algún error en la instalación del comando de tipo pod-
El resultado debe ser - /Applications/Xcode.app/Contents/Developer
Si la ruta es incorrecta, abra su proyecto de iOS en Xcode y vaya a: Xcode-> preferencias-> herramientas de línea de comando-> seleccione Xcode
Y nuevamente instale el pod, su problema se solucionará.
fuente
La sugerencia de anhdevit en https://github.com/facebook/react-native/issues/24363#issuecomment-488547280 funcionó para mí:
In your terminal, run: defaults delete com.apple.dt.Xcode
fuente
Si desea hacerlo desde su editor, también abra SMobile.xcscheme
Y cambio
parallelizeBuildables = "NO"
fuente
Para mí, no funcionó ninguna de las soluciones anteriores y debajo es lo que funcionó (ya había revisado
Parallelize Build
y agregadoReact
)fuente
Encontré este problema al actualizar de 0.58.4 a la nueva versión reactiva nativa 0.60.4. Nada de lo que encontré en Internet me ayudó, pero logré que funcionara:
Vaya a la configuración de compilación, busque 'Rutas de búsqueda de encabezado', seleccione la entrada, presione el botón BORRAR.
Hice anular estos valores y parece que volvieron a los valores predeterminados después de la eliminación. También Cocoapods se quejó con mensajes en la Terminal después
pod install
:fuente
Me encontré con este problema después de hacer un manual
react-native link
de una dependencia que no admitía el enlace automático en RN 0.59+La solución fue seleccionar el archivo xcodeproj en la carpeta Bibliotecas en Xcode y luego en Configuración de compilación, cambiar las Rutas de búsqueda de encabezado para agregar estos dos (recursivos):
fuente
Si desea mantener la construcción paralela habilitada y evitar los problemas de encabezado que faltan, proporcione un paso previo a la compilación en su esquema para colocar los encabezados de reacción en el área de datos derivados. Observe que la configuración de compilación proviene del proyecto React en este caso. Sí, no es una cosa hermosa, pero hace el trabajo y también reduce mucho tiempo de las construcciones. La salida del paso previo a la compilación termina en prebuild.log. Los encabezados exactos que necesitará copiar dependerán de las dependencias nativas de reacción de su proyecto, pero obtendrá la esencia de esto.
Obtenga el directorio de datos derivados de las variables de entorno y copie los encabezados de reacción requeridos.
El script se invoca durante una limpieza de compilación, lo que no es ideal. En mi caso, hay una variable env que cambia y me permite salir del script temprano durante una limpieza.
fuente
Solo necesita instalar pod, si el archivo pod existe, simplemente escriba
si no: así que primero,
luego,
en terminal. y estás listo para irte.
fuente
Lo que puede hacer para hacerlo bien es:
1)
npm uninstall reat-native-fs
para desinstalar la biblioteca2)
npm unlink react-native-fs
para desvincular la bibliotecaAhora la biblioteca se eliminó con éxito y ahora instale la biblioteca nuevamente en su proyecto y esta vez vincule todo manualmente. En ocasiones, la vinculación automática provoca este error.
fuente