WKWatchConnectivityRefreshBackgroundTask nunca se activa en segundo plano, pero WKSnapshotRefreshBackgroundTask

Quiero actualizar el estado de mi aplicación de reloj en segundo plano desde iPhone, usandosession.updateApplicationContext(applicationContext).

Enviar un contacto de la aplicación mientras la aplicación en el reloj está activa funciona correctamente.
Cuando activo el botón de inicio en el reloj, la aplicación del reloj pasa a segundo plano,handle(_ backgroundTasks: Set<WKRefreshBackgroundTask>) se llama y unWKSnapshotRefreshBackgroundTask está provisto.

Así que no entiendo por qué unWKSnapshotRefreshBackgroundTask se activa correctamente, pero no unWKWatchConnectivityRefreshBackgroundTask.

Documentos de Apple decir „Cuando recibe datos de fondo del iPhone emparejado, el sistema inicia su aplicación en segundo plano, crea una instanciaWKWatchConnectivityRefreshBackgroundTask objeto, y pasa el objeto de la tarea al método handleBackgroundTasks de su delegado de extensión: método.".

Pero esto no sucede, ni en un dispositivo, ni en el simulador. ¿Qué podría estar mal?

Editar:

Para comprobar qué podría estar mal, descargué el proyecto de demostración "QuickSwitch" de Apple que se puede descargaraquí. Aquí está el código que debe manejar las tareas en segundo plano:

func handle(_ backgroundTasks: Set<WKRefreshBackgroundTask>) {
    for backgroundTask in backgroundTasks {
        if let wcBackgroundTask = backgroundTask as? WKWatchConnectivityRefreshBackgroundTask {
            // store a reference to the task objects as we might have to wait to complete them
            self.wcBackgroundTasks.append(wcBackgroundTask)
        } else {
            // immediately complete all other task types as we have not added support for them
            backgroundTask.setTaskCompleted()
        }
    }
    completeAllTasksIfReady()
}

Ahí pasa lo mismo:
Establecí un punto de interrupción en la línea de la instrucción if y ejecuté la aplicación.
Cuando se presiona el botón de inicio en el simulador de reloj, se alcanza el punto de interrupción con unWKSnapshotRefreshBackgroundTask. Esto está bien (ver arriba).
Sin embargo, si se selecciona una línea diferente en el simulador de iPhone,watchOS no programa unWKWatchConnectivityRefreshBackgroundTask, como se esperaba. Después de todo, este proyecto de demostración debería mostrar exactamente este punto.
Tal vez alguien podría probar el proyecto de demostración y confirmar este problema o no.

¿Qué está mal?

Respuestas a la pregunta(2)

Su respuesta a la pregunta