0 votos

Cómo depurar el Centro de Notificaciones Distribuido

Tengo dos aplicaciones de Swift para macOS que se ejecutan desde XCode, las cuales son programas simples de escucha y notificación basados en DistributedNotificationCenter. Todo parece sencillo, pero no siempre funciona. Y me parece bastante aleatorio. ¿Hay alguna forma de depurar esta característica? ¿Por qué a veces los mensajes no se reciben o tal vez haya alguna fuga de los puertos del oyente? ¿Saben de alguna herramienta? Intenté usar registros en la consola pero no encontré nada interesante allí. ¡Gracias!

PD. He notado que la notificación se envía cuando la máquina entra en modo Suspensión y luego vuelve a iniciar sesión. Extraño

2voto

Steve Evans Puntos 155

Las notificaciones distribuidas son gestionadas por notifyd en macOS. Utiliza notifyutil para facilitar la depuración:

notifyutil es una utilidad de línea de comandos para interactuar con el sistema de notificaciones notify(3) y el servidor notifyd(8). Puede ser utilizado para publicar notificaciones, detectar e informar sobre notificaciones, y examinar y establecer los valores de estado asociados con las claves de notificación.

Las notificaciones pueden ser retrasadas o fusionadas. El remitente puede utilizar las opciones entregar inmediatamente y enviar a todas las sesiones para garantizar la entrega:

NSNotificationDeliverImmediately Cuando se establece, la notificación se entrega inmediatamente a todos los observadores, independientemente de su comportamiento de suspensión o estado de suspensión. Cuando no está establecido, permite que se produzca el comportamiento de suspensión normal de los observadores de notificaciones.

NSNotificationPostToAllSessions Cuando se establece, la notificación se envía a todas las sesiones. Cuando no está establecido, la notificación se envía solo a las aplicaciones dentro de la misma sesión de inicio que la tarea de envío.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X