«Invariante de la Violación: Aplicación AwesomeProject no se ha registrado» Cuando la construcción de un dispositivo iOS con estática jsbundle

Primero, no sé reaccionar, pero pensé que para implementar en un dispositivo iOS en lugar de que el simulador no sería demasiado difícil de hacer con los documentos. Eran un poco escasa, pero tengo en algún lugar y ahora estoy atascado.
He creado un principal.jsbundle y añadió que el proyecto de Xcode y sin comentar la línea en el AppDelegate.m.

Cuando me implementarlo me sale este error:

2015-03-26 16:13:08.538 AwesomeProject[4753:2477032] >
  RCTJSLog> "Running application "AwesomeProject" with appParams: {"rootTag":1,"initialProps":{}}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF"
2015-03-26 16:13:08.547 AwesomeProject[4753:2477032] >
  RCTJSLog> "Error: 
 stack: 
  runApplication                  main.jsbundle:33769
  jsCall                          main.jsbundle:7157
  _callFunction                   main.jsbundle:7404
  applyWithGuard                  main.jsbundle:877
  guardReturn                     main.jsbundle:7206
  callFunctionReturnFlushedQueue  main.jsbundle:7413
 URL: file:///private/var/mobile/Containers/Bundle/Application/DBC0DAF4-B568-4CF5-B156-9EFEE4E7FF4A/AwesomeProject.app/main.jsbundle
 line: 1536
 message: Invariant Violation: Application AwesomeProject has not been registered."
2015-03-26 16:13:08.723 AwesomeProject[4753:2477032] >
  RCTJSLog> "#CLOWNTOWN (error while displaying error): Network request failed"
InformationsquelleAutor cmp | 2015-03-26

11 Kommentare

  1. 124

    Estoy bastante seguro de que @krazyeom la revisión no tiene nada que ver con este error. En mi caso, he arreglado esto de salir de la terminal que se estaba ejecutando desde una aplicación de prueba que me había quedado. Parece que el terminal estaba confundido y todavía estaba enganchado a un proceso cuyo proyecto ya no era cargado en XCode. Intente lo siguiente:

    1. Cerrar la Terminal generado por Reaccionar Nativo.
    2. Apagar XCode completamente (puede no ser necesario).
    3. Volver a abrir todo y volver a ejecutar.
    • Yo no creo que tenga que ver con el reinicio de Xcode o Terminal.
    • He intentado esto también, así que no creo que este bien.
    • Esto sin duda solucionado mi problema, yo también estaba corriendo mi segunda prueba de Reaccionar aplicación Nativa cuando se enfrentan a este mensaje de error. En la segunda lectura, yo no creo que sea el mismo problema que estamos teniendo, sin embargo…
    • yo no tenía necesidad de reiniciar el xcode. acaba de apagar el terminal, y ejecutar de nuevo. había salido de la terminal abierto de diferentes reaccionar proyecto nativos
    • Esto hizo que el truco para mí (excepto para dejar de fumar Xcode). El primer construir siempre toma mucho tiempo y que se traduce en un error. De parada y arranque en Xcode no es suficiente en ese momento, el terminal debe ser dejado así.
    • Salga de la terminal hace el truco para mí. No era necesario reiniciar el XCode. Gracias 🙂
    • Matar a la «terminal» (en realidad, el «gestor de Paquetes») hace el truco. Reiniciar XCode no es necesario.
    • esto funcionó para mí. No sólo por el ‘Impresionante’ proyecto, pero para cualquier Reaccionar Nativo proyecto donde están rebotando entre 2 proyectos
    • No tuve que reiniciar Xcode, pero tuve que reiniciar el iPhone Simulator
    • Odio las «soluciones» como este. 1. No funcionó para mí. 2. Incluso si lo hizo, no explica por qué funcionaba. Se puede decir algo como ‘Ir a ver su correo electrónico, a continuación, volver y volver a cargar el Simulador’.

  2. 52

    Tu problema no tiene nada que ver con la consola, si bien incluido su javascript en la app de ios, no se trata de hablar con dev server, es obtener el código javascript de la agrupación.

    Desde el mensaje de error me imagino que usted podría haber cambiado el nombre de su principal componente. Asegúrese de que el 'AppName' que pasar a la

    AppRegistry.registerComponent('AppName' /* <- */, ... )

    coincide con el @"AppName" en su AppDelegate.m en la convocatoria de

    [[RCTRootView alloc] initWithBundleUrl:...
                                moduleName:@"AppName" //<-
                             launchOptions:...
    • Tendrá que reiniciar el gestor de paquetes de si cambiar la aplicación que se está ejecutando.
    • la mejor explicación. el hecho de que el principal componente del nombre debe coincidir con el nombre del módulo que usted tiene en AppDelegate.m
  3. 26

    Es debido a que el reaccionar nativo del servidor todavía está viendo la antigua.
    Que es necesario apagar el servidor primero.

    Sólo podría matar el proceso.

    En la terminal

    ps aux | grep react

    Matar o pkill el proceso y, a continuación,

    npm start
    • Este era mi problema. Cuidado si se había iniciado varios proyectos! Usted necesita darse cuenta de que el reaccionar servidor puede seguir funcionando en segundo plano para el primer proyecto que se inicia. Una vez que se me muere el default ‘awesomeproject’, mi nueva aplicación se inició y corrió bien.
    • Gracias, eso era todo.
  4. 19

    AppRegistry define el punto de entrada a la aplicación y proporciona el componente de la raíz.

    Su primer parámetro no coincide con el nombre del proyecto.

    AppRegistry.registerComponent('AwesomeProject', () => YourMainComponent);

    El primer parámetro de registerComponent tiene que ser el nombre del proyecto, el segundo parámetro es función anónima que devuelve su raíz reaccionar componente.

    Si el primer parámetro no coincide con xcode nombre del proyecto, se obtiene que el error de que la aplicación no ha sido registrada.

    En caso de que usted no tiene AppRegistry en el ámbito de aplicación que se le puede llamar como este
    React.AppRegistry.registerComponent o puede asignar a la AppRegistry var

    var {
      AppRegistry
    } = React;
    • Esto me ayudó. Gracias.
    • Esto me ayudó cuando estaba haciendo la reaccionar nativos tutorial después de crear el proyecto a través de su «introducción» react-native init AwesomeProject instrucción.
  5. 12
    AppRegistry.registerComponent('abc',() => ***); 

    la 'abc' debe ser el mismo que el moduleName:@'abc' en el nombre de archivo AppDelegate.m

    • Se me ha metido a esto. Su respuesta resuelto yo para mí, gracias.
  6. 9

    He tenido el mismo problema. Lo resuelto por dar el mismo nombre a ambos AppDelegate del moduleName y AppRegistry.registerComponent

    Si está ejecutando la aplicación con $ react-native run-ios deberá cambiar el nombre de la moduleName campo en ./ios/[project name]/AppDelegate.m para que coincida con el nuevo nombre del proyecto. Actualizar el teléfono simulador y se debe mostrar el nuevo código.

    • ESTA ES LA RESPUESTA CORRECTA
    • De acuerdo, las otras respuestas no me ayuda, he añadido un poco de información más detallada acerca de cómo solucionarlo
    • Es sensible a mayúsculas y minúsculas!
  7. 5

    Hizo cambiar el nombre de la aplicación que usted está registrando? Empecé la aplicación con el nombre de ‘difícil’, y más tarde cambió el nombre en esta línea:

    AppRegistry.registerComponent('MyNewApp', () => MyNewApp);

    y empecé a tener la invariante de error.

    • En ese caso, cambie el nombre de destino, o el código duro con el nuevo nombre de Info.plist.
  8. 1

    No soy fan de cierre de todo el fin de profundizar más en ello.

    Todo lo que tenía que hacer es en mi ventana de terminal, me encontré con este comando:

    ../lala/node_modules/react-native/packager/launchPackager.command ; exit; 

    Mi proyecto nombre era «lala» , por lo que no es node_modules en su proyecto.

    reemplazar lala con el nombre del proyecto se debe trabajar.

    Si hay un error dice que el puerto ya está en uso:

     ERROR  Packager can't listen on port 8081

    A continuación, usted tiene dos opciones:

    • Matar ya se ejecuta el programa.
    • O Cambiar el puerto por entrar en : ../lala/node_modules/react-native/packager/packager.js a continuación, busque su número de puerto, por ejemplo 8081, y reemplazar con el número de puerto que no esté en uso.
     var options = parseCommandLine([{
              command: 'port',
              default: 8082,
            }, {

    Guardar este archivo y, a continuación, ejecute el comando de nuevo.

    De esta forma, se pueden ejecutar varios reaccionar(sro).

  9. 1

    Tengo el mismo error, reiniciar todo, incluyendo el xcode y terminal trabajó para mí.

  10. 1

    Referencia a un nombre de persona.

    funciona para mí.


    Yo tenía casi el mismo problema que en la actualidad tienen un par de días atrás. Para mí fue un verdadero dispositivo.

    De toda mi investigación, la solución que funcionó para mí es el siguiente:

    1. Cuando se inicie la aplicación, escribiendo reaccionar-ejecución nativo de android, la
      aparece el error.
    2. Así, llegar a su directorio que contiene «adb.exe» ( para mí fue

      C:\Users\username\AppData\Local\Android\Sdk\platform-tools\ )
    3. abrir una terminal desde aquí. Y el tipo bad reverse tcp:8081 tcp:8081
    4. Luego, al volver a cargar la aplicación en el teléfono, se debe trabajar.
  11. 0

    Recibí el mensaje similar en la consola.

    mensaje: Invariantes Violación: Aplicación AwesomeProject no ha sido registrada.»

    Acabo de añadir REACT_EDITOR=atom en ~/.bashrc archivo.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea