Mon application enregistre et enregistre les données de localisation, d'altitude, de rotation et d'accéléromètre (DeviceMotion) en arrière-plan. Cela fonctionne très bien sur ios 10.3.3. Sur IOS 11, je n'ai plus accès aux données de mouvement lorsque l'appareil est verrouillé. Cependant, les données d'altitude et les données de localisation sont toujours diffusées sur la console.Dans IOS 11, DeviceMotion en arrière-plan a cessé de fonctionner
a quelque chose changé dans l'IOS 11 qui me empêche d'accéder aux données de mouvement ou que je fais en essayant d'y accéder d'une manière qu'Apple bloque maintenant comme OperationQueue.main
Voici comment je commence les mises à jour de mouvement. Si le téléphone est déverrouillé, tout fonctionne correctement. Si je le verrouillage du téléphone, pas d'autres mises à jour .:
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 }
Je ne peux pas trouver quoi que ce soit sur les modes de mouvement de fond changeant, mais il semble qu'il doit y avoir un moyen autrement RunKeeper, Strava cassera. Quelqu'un peut-il m'aider à faire fonctionner ce travail avant le lancement d'IOS11?
Merci!
J'ai moi-même un problème similaire. Utilisez-vous le mode d'arrière-plan CoreLocation pour que l'application reste active pour les mises à jour de mouvement? – doovers
@doovers Correct. CoreLocation est en cours d'utilisation et a déjà pris en charge les modes d'arrière-plan nécessaires pour le mouvement. Ce qui est frustrant, c'est que WatchKit a un mode d'entraînement pour permettre l'accès au mouvement en arrière-plan. –
On dirait que nous ne sommes pas seuls sur ce ... Cochez cette [thread] (https://forums.developer.apple.com/thread/86034). Sur quels appareils voyez-vous le problème? J'ai essayé 6 et 7 et seulement 7 ne fonctionne pas. – doovers