Depuración en Apple Watch nunca se imprime en la console

Estoy construyendo una aplicación nativa de Apple Watch y en el simulador se imprimirá a la console muy bien, sin embargo, cuando corro en el dispositivo nunca lo hace. ¿Es este comportamiento esperado?

Si todas estas respuestas no funcionan:

  • Reiniciar reloj
  • Reiniciar el iPhone
  • Reiniciar Xcode

Esto hizo el truco para mí;)

Simplemente debe adjuntar al process de extensión WatchKit :

Solución:

  • Ejecute su extensión en el simulador.

  • Xcode menu Debug -> Adjuntar a process -> Elija "MyExtension (el nombre de su extensión)" en la sección Sistema en el menu.

Xcode es un IDE de encoding iOS y OS X, no un sistema operativo. Eso significa que no puede ejecutar aplicaciones por sí mismo. El sistema operativo (aquí virtual) se encuentra en el Simulador o, a veces, en un dispositivo real. OS ejecuta su aplicación, no Xcode en sí.

Xcode solo puede introducir la aplicación (que usted y Xcode) hicieron en el sistema operativo, y no puede acceder a la aplicación en time de ejecución.

¿Pero por qué puedes depurar las aplicaciones de iOS y no mirarlas? Esta es la respuesta.

El simulador o el dispositivo real saben qué es Xcode, y otorgan acceso a la aplicación para Xcode. Entonces, Xcode puede decirle al sistema operativo sobre la aplicación y el sistema operativo le dice a la aplicación. Entonces OS es un enlace de connection aquí entre estos dos objects: Xcode y App.

Cuando desea depurar una aplicación en Xcode, Xcode simplemente le dice a OS la información y vuelve a darle información a Xcode. Entonces, Xcode simplemente los muestra por ti.

Xcode generalmente tiene acceso a la aplicación iOS (de manera pnetworkingeterminada), y para depurar la aplicación watchOS o ver los loggings, debe conectar Xcode a la aplicación para que Xcode pueda tomar files de logging del sistema operativo, que a su vez toma loggings de la aplicación.

Para ver los loggings, luego de ejecutar la extensión en el simulador, vaya al menu Depurar y luego select Agregar al process. A continuación, elija su extensión de WatchKit en la sección Sistema.

Ahora ambos están conectados entre sí por iOS.

Asegúrate de que estás seleccionando el objective de reloj.

Command-R debe ejecutar la aplicación directamente en el reloj con el depurador conectado.

Una vez que lo anterior funciona, debería poder ver los loggings yendo a Xcode> Ventana> Dispositivos y luego haciendo clic en su teléfono.

Abre el área de la console en la parte inferior. Una vez que se abre, puede hacer clic cerca de la parte superior del área para cambiar entre su teléfono y su reloj.