2011-01-28 9 views
6

Estoy trabajando en un proyecto basado en phonegap. Me gustaría usar algunas herramientas de depuración, para poder depurar algunas variables, etc. en la consola de XCode, etc. Ahora, he encontrado, que para hacer esto, necesito llamar a la función console.log.Phonegap - depuración de Javascript en Xcode

El problema es, sin embargo, cuando se ejecuta la aplicación en el simulador, no se muestra información de depuración en la consola de XCode ... Estoy usando la versión 0.9.3 de phonegap, ¿qué estoy haciendo mal?

Gracias por una respuesta

+0

¿podría explicarnos dónde está la información sobre console.log en la documentación? No puedo encontrarlo – xus

+0

Hola, he resuelto el problema actualizando a la versión superior de phonegap. Lo he visto en el grupo de google de phonegap, pero podría ser, la publicación ya se eliminó hoy.Te recomiendo que actualices tu código a la nueva versión de phonegap, incluso hay un lanzamiento estable por fin – Lukas1

Respuesta

3

Esta característica se completó hace muy poco (hace dos días), y no se incluyen en la versión 0.9.3. Puede ver esto ticket in the issue tracker para más información.

Para que esto funcione, debe extraer el último código del PhoneGap GitHub repository. Desde un shell:

$ git clone git://github.com/phonegap/phonegap-iphone.git 

... y luego construye la fuente desde el principio. ¡Deberías verlo entonces!

Alternativamente, reemplaza su console.log declaraciones con debug.log, y que va a trabajar en 0.9.3.

3

Lukas, hay una fantástica herramienta que puede usar para depurar su proyecto de fajo telefónico.

Con iWebInspector básicamente tiene Firebug para su aplicación Phonegap. Incluso puedes vivir-cambiar el código.

3

Pegue lo siguiente en algún lugar cerca del inicio de su documento para que se ejecute antes que cualquiera de sus otros JavaScript.

<script type="text/javascript"> 
    window.onerror = function(message, url, lineNumber) { 
     console.log("Error: "+message+" in "+url+" at line "+lineNumber); 
    } 
</script> 

Y disfrute viendo los detalles de sus errores de Javascript en la ventana de la consola Xcode.

ACTUALIZACIÓN: La técnica anterior registrará errores tales como variables indefinidas. Pero los errores de sintaxis, como las comas que faltan, harán que toda la secuencia de comandos se rompa sin iniciar sesión.

Por lo tanto se debe añadir lo siguiente al inicio de su onDeviceReady función:

console.log('Javascript OK'); 

Si no ve "JavaScript Aceptar" que aparece en la ventana de registro cuando los lanzamientos de aplicaciones, entonces significa tienes un error de sintaxis en alguna parte.

Para guardar la caza de comas que faltan, lo más fácil es para pegar el código en un validador Javascript como este:

http://www.javascriptlint.com/online_lint.php

y dejar que se encuentre el error para usted.

Esperemos que eso le quite un poco de dolor a la depuración.

Cuestiones relacionadas