style pwa icon home capable bar apps apple app ios xcode apple-push-notifications ios10 xcode-debugger

ios - home - pwa safari icon



Extensiones de notificación de depuración (6)

Cambia el objetivo para ejecutar la extensión.

luego seleccione ejecutar y elija su aplicación en la ventana ''Elegir una aplicación para ejecutar:''.

Estoy creando un conjunto de Extensiones de Notificación (Servicio / Contenido). No puedo conectarme al depurador de Xcode o incluso cerrar sesión en el registro o la consola del dispositivo.

¿Hay alguna forma de ver algún tipo de salida?


En mi caso todos los métodos anteriores tuvieron algunos errores. Punto principal, que necesita enviar un empuje una vez, luego conectarse a través del depurador, luego enviar un empuje para depurar. Así que, lista completa:

  1. Iniciar aplicación (no extensión).

  2. Detener la aplicación de XCode.

  3. Enviar un empuje.

  4. Conéctese a través de "Adjuntar al proceso por PID o Nombre ..." a su proceso de extensión.

  5. Enviar otro empuje.


Esto me sirvió para detenerme en los puntos de interrupción en la extensión y ver el registro de extensión:

  1. Elija el esquema de extensión de notificación, no el esquema de aplicación principal
  2. Ejecute la aplicación y seleccione la aplicación principal de la lista Choose an app to run
  3. Detenga la aplicación en Xcode y finalícela manualmente en el dispositivo; si no se finaliza, se genera un Message from debugger: Terminated due to signal 9 se terminó Message from debugger: Terminated due to signal 9 después del paso 6.
  4. Seleccione Menú Debug > Attach to Process by PID or Name
  5. Ingrese el nombre de extensión correcto , no el nombre de la aplicación principal
  6. Enviar la notificación de inserción

La extensión del servicio de notificación (NSE) no es en realidad una parte de su aplicación, sino una extensión que dice que tiene un ID de proceso diferente (PID) de su aplicación. Puede hacer que XCode escuche todos los procesos en su teléfono yendo a la pestaña "Depurar", desplácese hacia abajo a "Adjuntar al proceso" y vea si su NSE está en la lista "Objetivos probables". Si no está allí, intente aplicar otra notificación de inserción a su dispositivo y adjúntela cuando aparezca.

Ahora, en el navegador de depuración, puede ver el proceso de NES y puede depurarlo con éxito.


Lo he intentado según la Respuesta de Brendan, ¡pero no funciona para mí en absoluto!

Estoy recibiendo error por debajo de la consola

Program ended with exit code: 0

Entonces después de buscar en google he comprobado esta respuesta . Sin embargo, esto tampoco funcionó para mí por un tiempo!

Luego, volví a intentar los mismos pasos que se indican en la respuesta. Después de detener mi aplicación actual. luego siga los mismos pasos. Para mayor claridad, estoy escribiendo estos pasos de la siguiente manera:

Después de ejecutar la aplicación que contiene la extensión,

1) Set your breakpoint in the extension 2) Select Debug / Attach to Process by PID or name 3) Enter the name of the extension target 4) Trigger the push notification

Antes del paso 2, asegúrese de detener su aplicación actual en ejecución.


No estoy seguro de si esto será útil, pero tenemos varias versiones de la misma aplicación (alfa, beta, etc.). Se mantuvo el error de "no tener permisos para adjuntar" al intentar depurar. Al abrir la lista de procesos, noté que había 2 procesos con el nombre de notification-extension por lo que xcode debe haber estado por defecto en el de la otra compilación. Al seleccionar manualmente la correcta o al eliminar las otras compilaciones de mi teléfono, las cosas comenzaron a funcionar nuevamente.