2017-09-27 14 views
11

J'ai déjà déposé un radar sur ce sujet, mais je voulais voir si quelqu'un d'autre avait ce problème. Il semble que les changements de position significatifs (SLC) se comportent différemment sur iOS 11 mais uniquement sur les applications basées sur Xcode 9. Il semble que les SLC fonctionnent beaucoup moins bien et sont retardés par rapport à iOS 10. I peut sauvegarder cela avec des données provenant de plusieurs appareils et une expérience facilement reproductible. Je voulais essayer de garder cet article court, donc si quelqu'un veut plus de données ou d'instructions sur la façon de reproduire le problème plus en détail, je suis heureux de partager exactement comment j'ai fait tout cela. En utilisant cette application de mise en cache SLC minimaliste: https://github.com/Root-App/root-ios-slc-tester J'ai pu obtenir des données à partir d'appareils iOS 10 et iOS 11.Intermittent et en retard Lieu significatif changer les événements sur les applications construites avec Xcode 9 pour iOS 11 appareils

Le problème existe uniquement sur iOS 11 appareils où l'application a été reçu CTVR construit sur Xcode 9. Juste pour vous assurer que cela est clair:

  • appareil iOS 10 + app construit sur Xcode 9: fonctionne comme avant
  • appareil iOS 10 + app construit sur Xcode 8: fonctionne comme avant
  • appareil iOS 11 + app construit sur Xcode 8: fonctionne comme avant
  • appareil iOS 11 + app construit sur Xcode 9: problème existe

La plupart du temps (mais pas toujours), les SLC sur la version iOS 11 + Xcode 9 arrivent beaucoup plus tard que les SLC sur les périphériques de contrôle (iOS 10). En comparant les fichiers journaux de l'application ci-dessus, les appareils iOS 10 obtiennent des SLC plus de 2 minutes avant les appareils iOS 11. Parfois 10-15 minutes avant!

données abrégée de l'échantillon, où chaque ligne est un voyage différent et représente la première fois qu'un SLC a été enregistré pour ce voyage (HH: mm: ss):

iOS 10 | iOS 11 
------------------- 
20:41:08 | 20:44:45 
07:21:25 | 07:27:48 
18:54:57 | 19:07:36 
07:48:17 | 07:51:03 
17:29:44 | 17:38:18 

Les écarts entre le moment où il y avait un SLC dans iOS 10 vs iOS 11 semble incroyablement différent.

Quelqu'un d'autre voit-il ce comportement SLC dégradé?

+0

avez-vous trouvé une solution? Je dois également mettre en œuvre SLC. les pls me suggèrent le meilleur moyen de capturer l'emplacement même si l'application ne fonctionne pas. –

Répondre

1

Si vous n'utilisez que l'accès à l'emplacement "While Using", autant que je sache, rien ne change pour vous.

Si vous utilisez l'accès "Toujours" et que vous n'avez pas fourni de solution de repli "En cours d'utilisation" comme vous le devriez.

informations ci-dessous peuvent être utiles pour iOS 11,

Comme Brad Jensen explique dans le discours de la WWDC je l'ai mentionné, Apple a décidé que forcer l'utilisateur à donner l'application « toujours » l'accès de l'emplacement est une mauvaise expérience utilisateur:

maintenant, une deuxième raison, nous pensons que beaucoup de développeurs choisissent d'exiger l'autorisation toujours est qu'ils sont tout simplement essayer de donner à leurs utilisateurs la meilleure expérience possible (...) mais cela fait un très mauvais utilisateur expérience pour les utilisateurs qui ne souhaitent pas accorder l'application Al moyens autorisation.Ils sont obligés de choisir entre accorder l'application Toujours, ce qui est plus que ce qu'ils souhaiteraient dans cet exemple, ou l'accorder Jamais, ce qui signifie qu'ils ne bénéficient d'aucune des fonctionnalités basées sur l'emplacement de l'application. Et leur dernière option est d'accorder Toujours et ensuite révoquer cette autorisation après qu'ils ont terminé en utilisant l'application. En tout cas, l'utilisateur ne passe pas un bon moment avec cette application .

Pour plus de détails, vous pouvez lire ci-dessous blog, il est peut-être plus utile,

https://mackuba.eu/2017/07/13/changes-to-location-tracking-in-ios-11/

+0

Pour cette application, "Toujours" est absolument essentiel à ses fonctionnalités. Les utilisateurs qui ne veulent pas lui accorder l'accès "Toujours" ne recevraient rien de l'application. –