Imprimir: Entrada, ": CFBundleIdentifier", no existe

117

Cuando ejecuto react-native run-iosla compilación se realiza correctamente, pero aparece el siguiente error. Revisé todo el lugar, pero nada parece funcionar. Usar sudodelante del comando tampoco ayuda. Estoy usando Xcode 7.3, react-native-cli: 0.2.0, react-native: 0.24.1, nodo v5.11.0.

=== BUILD TARGET mobileTests OF PROJECT mobile WITH CONFIGURATION Release ===

Check dependencies

** BUILD SUCCEEDED **

Installing build/Build/Products/Debug-iphonesimulator/mobile.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/done.js:10
      throw err;
      ^

Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/mobile.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

    at checkExecSyncError (child_process.js:470:13)
    at Object.execFileSync (child_process.js:490:13)
    at _runIOS (runIOS.js:91:34)
    at runIOS.js:24:5
    at tryCallTwo (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:45:5)
    at doResolve (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:200:13)
    at new Promise (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:66:3)
    at Array.runIOS (runIOS.js:23:10)
    at Object.run (/Users/astiefel/workspace/bosspayments/mobile/node_modules/react-native/local-cli/cli.js:86:13)
    at Object.<anonymous> (/usr/local/lib/node_modules/react-native-cli/index.js:88:7)
astiefel
fuente
¿Existe el identificador de paquete en el archivo? Supongo que no, así que la pregunta es "por qué no se escribe en el archivo".
trojanfoe
Eso realmente no ayuda. ¿Puedes elaborar?
astiefel
Para mí, se debe a un problema de compatibilidad de react-native con Xcode9.4. Resolví usando los siguientes pasos. "rm -rf node_modules" luego "react-native upgrade" luego "npm install" luego "react-native run-ios"
raja
Raja ... ¿está seguro de que es posible ejecutar la actualización nativa de reacción después de haber eliminado la carpeta node_modules? Lo intenté y decía que no se reconocía la actualización
VK1
Simplemente cierre su terminal, ábralo de nuevo y ejecute la aplicación que funcionó para mí.
Chandni

Respuestas:

110

Abrir proyecto en Xcode

Si Xcode> 9 ejecutar el comando react-native upgrade(esto sobrescribe todas sus configuraciones de iOS, ¡ utilícelo con precaución !)

luego

1.Vaya a Archivo -> Configuración del proyecto

2.Haga clic en el botón Avanzado

3.Seleccione "Personalizado" y seleccione "Relativo al espacio de trabajo" en el menú desplegable

4.Cambie "Construir / Productos" a "Construir / Construir / Productos" y "Construir / Intermedios" a "Construir / Construir / Intermedios"

Agregar paquete

5.haga clic en listo, listo

Katta Nagarjuna
fuente
1
Esto funcionó para mí en xcode 8.2, solucionó mi problema, ¡gracias!
KrakenDev
@SurajShingade Tengo Xcode 9.4 en mi máquina y no puedo encontrar la opción "Configuración del proyecto" dentro de "Archivos". Solo veo "Configuración del espacio de trabajo ...". ¿Sabes dónde acceder a la configuración del proyecto? - imgur.com/a/SqAemnL - mantener presionada la tecla de opción con el menú Archivo abierto tampoco lo muestra
Pat Needham
1
@PatNeedham "Configuración del proyecto" pasó a llamarse "Configuración del espacio de trabajo"
Toby Caulk
3
¿Puede explicar un poco por qué funciona esta solución?
Victor
3
Esta sigue siendo la forma de solucionarlo a partir de xCode 10
jacurtis
70

Esto puede ocurrir si le falta el archivo config.h ,

Para actualizar el archivo config.h ,

1) Cierre su Xcode.

2) Abra Terminal, vaya a la carpeta raíz de su proyecto y haga:

cd node_modules/react-native/third-party/glog-{X}.{X}.{X}/

3) Ejecute el script de configuración:

./configure

4) Abra Xcode e intente ejecutar su aplicación.

{X}: número de versión glog

Lijith Vipin
fuente
¡¡Gracias!! esto me salvó el tiempo.
Gurjinder Singh
6
Instalé react-native desde cero, creé mi primer proyecto, pero no pude hacer que funcionara. Esta respuesta solucionó mi problema. Me pregunto por qué sucede esto, ya que es una instalación nueva y nueva
Antonio
¿Te importaría explicar por qué está sucediendo esto?
Patrick Bassut
Esto funcionó para mí. Nueva instalación de react-native 0.55, Xcode versión 10
mat
1
... ¿y si no hay un configurescript, como en 0.58?
Scott Skiles
29

Actualizar React usando lo react-native upgradehizo por mí.

Descargo de responsabilidad : esto sobrescribe todas sus configuraciones de iOS, ¡ utilícelo con precaución !

sbastidasr
fuente
30
sobrescribir todos los archivos de iOS sobrescribirá cualquier configuración que haya realizado en su proyecto. lol. utilizar bajo su propio riesgo la exención de responsabilidad es lo mínimo que puede hacer.
AlxVallejo
1
Sería útil si alguien pudiera explicar qué significa "todas sus configuraciones de iOS".
Andrew Koster
25

Si está utilizando Xcode 10, puede deberse a una incompatibilidad con el último sistema de compilación de Xcode. Intente cambiar al sistema de compilación heredado.

Abra Xcode 10, Archivo> Configuración del proyecto> Sistema de compilación> cambie el menú desplegable a Sistema de compilación heredado.

Captura de pantalla

ChrisBorg
fuente
ratas! Perdí dos días laborales por este problema. Lo que es una locura es que mi compilación de CLI funcionó bien hasta hace 3 días. No tengo idea de lo que pasó. Esto tampoco solucionó el problema. ¿Quieres ver crecer mi llanto? TT
Mike S.
10

Mi problema fue en realidad que mi compilación estaba en modo de lanzamiento en lugar de en modo de depuración. Como resultado, el identificador apuntaba a algo que no existía. Cambié el tipo de construcción y terminó funcionando.

astiefel
fuente
3
Pero, ¿qué sucede si desea ejecutar su proyecto en modo de lanzamiento?
Tieme
@astiefel Creo que esto es lo que también me está pasando. Por cierto, ¿cómo cambia el tipo de construcción?
JohnnyQ
@JohnnyQ Vaya a Product-> Scheme-> Edit Schemey luego seleccione Depurar en Configuración de compilación
astiefel
10

También encontré este problema y encontré una manera de solucionarlo

Aquí esta lo que hice:

1) Asegúrese de que no haya espacios en blanco en el directorio de archivos.

2) directorio del proyecto cd

3) ejecutar el comando react-native upgrade

4) Vaya a la carpeta nativa de ios y abra el proyecto xcode.

5) Vaya a Archivo> Configuración del proyecto> Avanzado ...

6) seleccione personalizado> Relativo al espacio de trabajo

7) la ruta de los productos debe ser 'build / Build / Products'

8) la ruta de los intermedios debe ser 'build / Build / Intermediates'

9) ahora intente ejecutar el comando en su terminal react-native run-ios

Espero que estas soluciones ayuden a algunos de nosotros a enfrentar este problema.

Usman Awan
fuente
21
no funcionó para mí todavía tengo este error: Entrada, ": CFBundleIdentifier", no existe
Mehrnoosh
9

Porque [email protected]lo siguiente me hizo el truco:

1) Verifique sus rutas, abra su archivo .xcodeproj (no .xcworkspace) y:

  • vaya a Archivo> Configuración del proyecto> Avanzado

  • personalizado> Relativo al espacio de trabajo

  • establecer la ruta de los productos a 'build/Build/Products'
  • establecer la ruta de los intermedios a 'build/Build/Intermediates'
  • presione listo y guarde sus cambios

2) Ejecutar rm -rf ios/builden el directorio raíz de su proyecto

3) Cierre su empaquetador de reacciones

4) Corre de react-native run-iosnuevo

Tim
fuente
También funciona en: "react": "16.2.0", "react-native": "0.52.0",
Raju yourPepe
Este problema me resolvió después de agregar dependencias a través de Pods a la parte de iOS de nuestro proyecto RN. Excepto: hice este cambio en la .xcworkspaceconfiguración.
cayleyh
@cayleyh, esto no fue exactamente para mí, pero eliminó el Splashscreenerror, entonces, ¿estás diciendo que seguiste el paso de Tims, excepto que lo hiciste por dentro xcworkspace?
Daniel
8

Me pasó esto cuando mi carpeta node_modules se volvió loca después de instalar un nuevo paquete. Maté la carpeta rm -rf node_modulesy luego npm installvolví a instalar mis paquetes y eso lo solucionó.

Jade
fuente
Esto fue lo único que lo arregló para mí.
223seneca
7

El Print: Entry, ":CFBundleIdentifier", Does Not Existmensaje solo indica que su proyecto no se pudo compilar o vincular. Deberá revisar su salida para encontrar una pista sobre la causa raíz real.

Si tiene problemas, mire el resultado completo de la compilación, no solo las últimas líneas. Es posible que desee abrir el proyecto en Xcode y presionar ⌘B para construirlo. Los errores de compilación en Xcode deberían ayudarlo a encontrar la causa raíz del error.

Héctor Ramos
fuente
Salvador de vida. De hecho, era otro problema. Mi esquema cambió de nombre y el problema se resolvió.
Mohammad Abbas
En mi compilación de Xcode y puedo construir. Al ejecutar el comando react-native run-ios, falló
sejn
6

Si ha recibido este error, probablemente no tenga la ruta correcta para su aplicación.

Se encontró un error al procesar el comando (dominio = NSPOSIXErrorDomain, código = 2): No se pudo instalar la aplicación solicitada. No se encontró un paquete de aplicaciones en la ruta proporcionada. Proporcione una ruta válida al paquete de aplicaciones deseado. Imprimir: Entrada, ": CFBundleIdentifier", no existe

React Native lo ha codificado como parte de su comando run-ios en runIOS.js

build/Build/Products/${configuration}-${isDevice ? 'iphoneos' : 'iphonesimulator'}/${appName}.app

Desafortunadamente, Xcode tiene diferentes rutas de compilación dependiendo de su configuración y de si está utilizando un proyecto o espacio de trabajo de Xcode. Creo que la ruta predeterminada para un proyecto Xcode es build/Products.
Envié esta solicitud de extracción 11899 para brindar a los programadores más flexibilidad desde la CLI.

Charlle
fuente
3

Para mí fue un problema configurar accidentalmente módulos usando Cocoapods y react-native linkal mismo tiempo.

¡No mezcle esos dos para los mismos módulos!

Fechador Oleg
fuente
Entonces, ¿cómo hacer esto?
Isaac
@Isaac Nuke cache e instale con cocoapods / react-native link, dependiendo de cómo esté configurado su proyecto
Buruiană Cătălin
3

Arreglé esto borrando /build/y ejecutando react-native run-iosnuevamente


fuente
@Eran¿O ves Provide a valid path to the desired application bundle.en tu consola? Pruebe la siguiente configuración de xcodefile => project settings, build system: legacy, derived data: project-relative, DerivedData in the input => advanced, custom, relative to workspace, build/Build/ in the first 2 inputs
2

¿Ha comprobado que declaró un identificador de paquete? Puede hacer esto haciendo clic en el archivo de su proyecto en xcode y luego seleccionando la pestaña general y aparece debajo del primer cuadro de texto en "Identidad". Otra forma de verificarlo es verificar su archivo info.plist en la carpeta ios de su proyecto. Así es como se muestra en mi info.plist. Mi identificador de paquete real para mi proyecto está en xcode.

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
Ben Dellarocco
fuente
1
Sí, lo comprobé. El error fue en realidad que mi código estaba en modo de lanzamiento en lugar de modo de depuración.
astiefel
2

En mi caso, extraigo el proyecto de git y también incluye la carpeta ios.

Primero elimino la carpeta ios y rm -rf ios luego,react-native upgrade

Ahmet Oğuz Koruyucu
fuente
2

Puede seguir los pasos a continuación para resolver este error:

Paso 1

Open terminal

Paso 2

cd node_modules/react-native/third-party

Paso 3

ls

Copy or identify glog-{version}

Paso 4

cd ../../../

Paso 5

cd node_modules/react-native/third-party/glog-{version}

Paso 6

./configure

Espero que esto funcione !!!

Dheeraj D
fuente
2

Probé todas estas soluciones, pero la que me ha funcionado es:

  1. correr react-native upgrade
  2. abrir xcode
  3. ejecutar la aplicación en xCode
  4. ¡funciona bien!
Eli
fuente
gracias Eli, he resuelto este problema simplemente ejecutando "react-native upgrade"
javeedishaq
Para aquellos que trabajan en entornos empresariales, les recomiendo que tengan cuidado al utilizar esta solución. Es necesario planificar la actualización del núcleo react-native porque podría afectar negativamente el trabajo de otros. Pregunta primero.
Mike S.
1

Actualicé Xcode a v8 y se resolvió el error.

Mentes mecánicas
fuente
1

el 0.44 está bien para ejecutarse, pero el 0.45 no puede, tal vez sea el problema de la versión. Lo resolví con el siguiente comando: rninit init TaxiApp --source [email protected];

Joshua
fuente
1

Mi terminal muestra el mismo mensaje debido a la eliminación de algunos simuladores que no uso en Xcode.

Si ejecuta react-native run-iossin parámetros específicos, react-native ejecutará el simulador predeterminado que es iPhone 6 con iOS 10.3.1 en mi caso y eliminé este simulador por casualidad.

Aquí vienen mis mensajes de error:

xcodebuild: error: Unable to find a destination matching the provided destination specifier:
        { id:F3A7BF54-B827-4517-A30D-8B3241C8EBF8 }

Available destinations for the "albums" scheme:
    { platform:iOS Simulator, id:CD64F26B-045A-4E27-B05A-5255924095FB, OS:10.3.1, name:iPad Pro (9.7 inch) }
    { platform:iOS Simulator, id:8FC41950-9E60-4264-B8B6-20E62FAB3BD0, OS:10.3.1, name:iPad Pro (10.5-inch) }
    { platform:iOS Simulator, id:991C8B5F-49E2-4BB7-BBB6-2F5D1776F8D2, OS:10.3.1, name:iPad Pro (12.9 inch) }
    { platform:iOS Simulator, id:B9A80D04-E43F-43E3-9CA5-21137F7C673D, OS:10.3.1, name:iPhone 7 }
    { platform:iOS Simulator, id:58F6514E-185B-4B12-9336-B8A1D4E901F8, OS:10.3.1, name:iPhone 7 Plus }

. . .

Installing build/Build/Products/Debug-iphonesimulator/myapp.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/myapp.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Para deshacerse de estos, abra su Xcode y verifique si hay simuladores disponibles (como el terminal enumerado) y ejecute react-native run-ios --simulator="your device name"

Para mi caso, corro react-native run-ios --simulator="iPhone 7", el problema resuelto.

Frank Wang
fuente
¡Perfecto! ¡Gracias!
Asinox
1

Después de un par de meses probando todas las respuestas, finalmente actualizo mi sistema operativo a Sierra, actualizo XCode a la última versión y con eso todos los errores desaparecen. ¡Espero que esto pueda ayudar a algunas personas!

Damianfabian
fuente
1

Agregando, funciona para mí, cuando nada de lo anterior corrige:

  1. Instale react-native-git-upgrade y actualice su proyecto. npm i -g react-native-git-upgrade && react-native-git-upgrade
  2. Abra Xcode -> Archivo -> Configuración del proyecto -> Avanzado.
  3. Seleccione " Personalizado ", luego seleccione " Relativo al espacio de trabajo " y luego haga clic en Listo, listo.
  4. Actualice su CLI. npm i -g react-native-cli
  5. Actualice su Nodejs 8 y NPM. nvm install --ltsynvm install-latest-npm
  6. Elimine ios / build y node_modules (en la ruta raíz de su proyecto)
  7. Continúa con npm instally react-native run-ios, y dame un abrazo :-)

Finalmente funciona aquí.

  • Mac OS High Sierra 10.13.4
  • Xcode 9.3
  • NPM 5.8.0
  • Nodo 8.11.1
  • RN 0.55.2
Lindoélio Lázaro
fuente
1

Usar esta versión es un trabajo para mí con xcode 10.1

"react": "16.6.0-alpha.8af6728",
"react-native": "0.57.4"
Ananda Bayu Putra Yudhistira
fuente
Honestamente, pensé que lo anterior sería mi salvador e incluso eso no funcionó. Así que actualizando, no, no estoy convencido.
Daniel
1

Todas estas sugerencias de soluciones no me han funcionado. Acabo de crear un proyecto rn 0.58.5. Y comparado con mi proyecto. Vi que no hay JavaScriptCore.frameworkdebajo del Build Phasess> Link Binary With Libraries. Después de arrastrar y soltar, JavaScriptCore react-native run-ios build tuvo éxito.

JavaScriptCore.framework ubicación: ‎⁨Macintosh HD⁩ ▸ ⁨Applications⁩ ▸ ⁨Xcode⁩ ▸ ⁨Contents⁩ ▸ ⁨Developer⁩ ▸ ⁨Platforms⁩ ▸ ⁨iPhoneOS.platform⁩ ▸ ⁨Developer⁩ ▸ ⁨SDKs⁩ ▸ ⁨iPhoneOS.sdk⁩ ▸ ⁨System⁩ ▸ ⁨Library⁩ ▸ ⁨Frameworks⁩

JavaScriptCore.framework

agenc
fuente
Dando un +1 también estaba ejecutando 0.58.5 y el marco también faltaba en mi entorno.
Brian P
1

Para mí fueron las dependencias de iOS gestionadas por cocoapods.

Tuve que hacer esto:

$ cd ToProject/ios

$ pod install

$ react-native run-ios

Esto funcionó para mi

https://shift.infinite.red/beginner-s-guide-to-using-cocoapods-with-react-native-46cb4d372995

PD: Estaba tratando de averiguar el trabajo realizado por otra persona.

usuario710907
fuente
La ejecución de la instalación de pod decía: [!] No se ha encontrado ningún `Podfile 'en el directorio del proyecto.
Mohammad Mirzaeyan
La suposición de @MohammadMirzaeyan fue que lo ha hecho pod inity tiene un Podfile válido. Por favor, no vote negativamente si no tiene suficiente conocimiento para contrarrestar sus reclamos. Como era el proyecto de otra persona, como mencioné, ya tenía el PodFile. He eliminado completamente la configuración de pod para gente como tú.
user710907
1

El mensaje de error similar a The domain/default pair of (../ios/Runner/Info, CFBundleIdentifier) does not exist

Significa que Xcode cree que plisttienesinvalid format content .

Necesita pegar el contenido del Info.plistarchivo para averiguar qué está mal con ese archivo.

Un posible problema es que este <key>s y <values>s ( <array>s, <string>s o <bool>s) no están emparejados correctamente. Por ejemplo:

<key>UISupportedInterfaceOrientations</key>         //<------ here is the key
<key>NSPhotoLibraryUsageDescription</key>
<key>NSCameraUsageDescription</key>
<string>Tagueo necesita usar la camara</string>
<key>NSMicrophoneUsageDescription</key>
<string>Tagueo necesita usar el microfono</string>
<array>                                            //<------ here is the value
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>   //<------ please compare this key
<array>                                            //<------ please compare this value
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>

Solo necesitas mover el keyy valuejuntar

<key>UISupportedInterfaceOrientations</key>        //<------ here is the key
<array>                                            //<------ follow with the value
   <string>UIInterfaceOrientationPortrait</string>
   <string>UIInterfaceOrientationLandscapeLeft</string>
   <string>UIInterfaceOrientationLandscapeRight</string>
</array>
JerryZhou
fuente
¡Esto debería tener muchos más votos a favor! Mi Info.plist tenía una etiqueta incorrecta y sin cerrar '<string />' en el medio de la nada. Revise cuidadosamente su archivo plist de la cabeza a la cola.
Douglas Schmidt
0

Esto funciona para mí Haga clic en el proyecto RCTWebSocket en su navegador y elimine los indicadores en la configuración de compilación> indicadores del compilador personalizados ingrese la descripción de la imagen aquí

Jackson Harry
fuente
0

Encontré cómo resolver el problema: ¡NO use espacio en la ruta de su proyecto! 🎉 😄

Floris M
fuente
0

Cuando ejecuta el npm installcomando en algún momento, el problema de Internet, los archivos en node_modules\react-native\third-partyno se descargan correctamente, así que verifique que se hayan descargado correctamente o no, si no, elimine node_modules e instálelo nuevamente

luego ejecuta el react-native run-ios comando

Nisarg Thakkar
fuente
0

La razón básica es que la implementación del puerto no es gratuita. O reinicia el dispositivo y obtiene todos los puertos libres; de lo contrario, ejecute $ lsof -i :8081y encuentre el proceso que ocupó el puerto 8081. Elimine el proceso que está usando el puerto 8081 ejecutando$ kill -9 {process_which_is_running_under_8081}

Gururaj Jeerge
fuente