En iOS 11, DeviceMotion en segundo plano dejó de funcionar

Mi aplicación informa y registra datos de ubicación, altitud, rotación y acelerómetro (DeviceMotion) mientras está en segundo plano. Esto funciona bien en iOS 10.3.3. En IOS 11, ya no tengo acceso a los datos de movimiento mientras el dispositivo está bloqueado. Sin embargo, los datos de altitud y ubicación todavía se transmiten a la consola.

¿Ha cambiado algo en iOS 11 que me impide acceder a los datos de movimiento o estoy intentando acceder a ellos de una manera que Apple ahora bloquea como OperationQueue.main?

Así es como estoy comenzando las actualizaciones de movimiento. Si el teléfono está desbloqueado, todo funciona bien. Si bloqueo el teléfono, no hay más actualizaciones .:

let motionManager = self.motionManager

    if motionManager.isDeviceMotionAvailable {
        motionUpdateInterval = 0.15
        motionManager.deviceMotionUpdateInterval = motionUpdateInterval

        motionManager.startDeviceMotionUpdates(using: .xArbitraryZVertical, to: OperationQueue.main) {deviceMotion, error in
            guard let deviceMotion = deviceMotion else { return }

No puedo encontrar nada sobre los modos de fondo de movimiento que cambian, pero parece que debe haber una manera de lo contrario RunKeeper, Strava se romperá. ¿Alguien puede ayudarme a que esto vuelva a funcionar antes del lanzamiento de IOS11?

¡Gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta