10
votes

CMMiDoCittivityManager ignore le cyclisme

J'ai fait des recherches sur le nouveau de puce M7 CMMotionActivityManager , pour déterminer si l'utilisateur du dispositif est la marche, la course, dans une voiture, etc (voir Apple Documentation ). Cela semblait être un grand pas en avant sur essayer de déterminer ce précédent d'utiliser LocationManager et accéléromètres uniquement les données.

Je remarque cependant que CMMotionActivityManager ne pas Cyclisme l'activité, ce qui est décevant, et presque un deal-breaker pour une utilisation complète en tant que nouveau directeur de l'activité. Est-ce que quelqu'un d'autre a trouvé un moyen pratique d'utiliser CMMotionActivityManager avec le cyclisme aussi sans avoir à Réincorporer CMLocationManager + accéléromètre juste pour essayer de tester pour faire du vélo aussi?

Remarque, cela ne comprend pas les options générales de transport pour des choses comme un train. Par exemple, je la navette une heure par jour dans le train. Automobile pourrait être plus générique au moins, similaire à la façon dont Moves utilise les transports.

CMMotionActivity a ces types de mouvement définis seulement:

  • fixe
  • marche
  • courir
  • Automobile
  • inconnu

    notes utiles de code d'Apple, qui ne résout pas nécessairement le problème, mais il est utile:

    CMMotionActivity

    Une estimation de l'activité de l'utilisateur sur la base du mouvement du dispositif.

    L'activité est exposée comme un ensemble de propriétés, les propriétés ne sont pas mutuellement exclusifs.

    Par exemple, si vous êtes dans une voiture arrêtée à un arrêt signe la puissance de l'Etat ressembler: stationnaire = OUI, la marche = NO, courant = NO, automobile = YES

    ou un véhicule en mouvement, immobile = NO, NO = marche, la course = NO, automobile = YES

    Ou le dispositif pourrait être en mouvement, mais pas la marche ou dans un véhicule. stationnaire = NO, NO = marche, la course = NO, NO = automobile. Remarque dans ce cas, toutes les propriétés sont NO.

    [Source Direct: Cadre Apple iOS, CoreMotion / CMMotionActivity.h @interface CMMotionActivity, commentaires de code en ligne]


9 commentaires

Je pense que c'est une question très valable.


On dirait que, à tout le moins, vous devez déposer une demande d'amélioration chez bugReport.apple.com , et poster le numéro dans votre question afin que les gens puissent dupliquer.


Lorsque le porteur est à vélo, quelles activités le rapport cmmiométactivité?


Je n'ai pas testé en détail sur un vélo, mais je devinerais automobile lorsque la vitesse est supérieure à 10-15 mph. Ci-dessous cela pourrait aller de différentes manières. J'ai ajouté les détails dans une édition.


Ou, selon les notes Apple ci-dessus, il pourrait ne pas avoir de type d'activité défini sur Oui, mais stationnaire peut être non. "Inconnu" pourrait être oui. C'est une question intéressante que je trouverai une réponse à.


Pouvez-vous être un peu plus clair? La seule partie de ce que vous avez écrit qui semble être une question est de "que quelqu'un d'autre a trouvé un moyen pratique d'utiliser cmmiomotionActivityManager avec un cyclisme également sans avoir à réincorporer l'emplacement de l'emplacement + accéléromètre pour essayer de tester le cyclisme aussi?". Qu'est-ce que vous recherchez dans une réponse?


Ce serait génial si le M7 seul pouvait détecter le cyclisme car GPS absorbe vraiment ma batterie. Existe-t-il un moyen de voir les données brutes de la puce?


La puce M7 stocke des données pendant 7 jours mais je ne pense pas que cela stocke des données brutes. J'imagine qu'il utilise ce dont il a besoin à la volée, calcule et stocke les statistiques et continue à y aller. M7 est censé être interrogée au premier plan, mais pas dans l'arrière-plan, la surveillance des données en direct n'est pas vraiment une option non plus et vaincre l'optimisation non fondée en arrière-plan.


Le vélo n'est toujours pas détecté dans l'iPhone 6 avec IOS 8.3 installé (le dernier appareil / iOS peut avoir à ce moment-là). Je reçois une activité inconnue à la place. Quelqu'un a trouvé la raison?


3 Réponses :


4
votes

Tout d'abord sa question ou type de détails informatif sur M7?

Quelqu'un d'autre a-t-il trouvé un moyen pratique d'utiliser cmmiomotionActivityManager avec cyclisme aussi sans avoir à réincorporer l'emplacementmanager + Accéléromètre Juste pour essayer de tester le cyclisme aussi?

Voir Il y a beaucoup de confusion qu'il créera si vous souhaitez vérifier si l'activité est le type de cyclisme ?? parce que c'est juste dépendre de l'accéléromètre

L'accéléromètre contient des structures de cristaux microscopiques qui sont stressées par des forces accélérantes, ce qui provoque une tension à générer. Et à partir de cette tension, il peut analyser le résultat .. Donc, ce que je sais, c'est que c'est simplement classifie votre vitesse et vous donner le résultat que son en cours d'exécution de la marche ou de l'automobile, donc si vous souhaitez utiliser un cycle un peu de temps très rapide très lent ou moyen afin que ce soit un peu de temps entraînera un certain temps à la marche ou à la course ou peut être auoomotive de sorte que M7 ne puisse pas clarifier la chose si son automobile ou son cyclisme ou son cycle parce qu'il n'y a pas beaucoup de vitesse de vitesse pendant votre cyclisme.

Néanmoins tout en utilisant pour courir et marcher, il donne des résultats incorrects dans certains cas. Donc, cela permettra de donner des chances que votre application donnera des informations erronées aussi.

Une dernière chose que vous avez posée est

note, cela n'inclut pas non plus les options de transport générales pour les choses comme un train. Par exemple, je commute une heure par jour dans le train. L'automobile pourrait être rendu plus générique au moins, semblable à la façon dont les mouvements utilise le transport.

Donc, Apple travaille également sur d'autres fonctionnalités de mappage. Apple est dite de planifier des mises à jour notable de son application de cartes dans iOS 8 et la société travaille actuellement à la mise en œuvre à la fois sur les directions de transport en commun et les caractéristiques de mappage d'intérieur (que Google a déjà sur iOS).

http://www.macrumors.com/2013/09/12/Apple-working-a-Eloverever-New-M7-Motion-Sensing-Chip-for-Mapping-improvements/ ( Lien utile)


0 commentaires

2
votes

Alors, je ne sais pas si vous avez toujours besoin d'une réponse à cela, mais voici les dernières nouvelles de iOS8 SDK

@property(readonly, nonatomic) BOOL cycling NS_AVAILABLE(NA, 8_0);


3 commentaires

Je n'avais pas lu ça encore mais apparemment, ils le soutiennent maintenant avec iOS8! Merci pour la mise à jour. Je l'ai ajouté à mon code.


J'ai testé ceci sur iPhone 6, iOS 8.3 Un vélo encore n'est pas détecté (Unknown Kicks in lorsque je vélo).


Quelqu'un a toujours ce problème? J'ai essayé aujourd'hui avec un SE (2nd Gen, iOS 14), cycliste pendant environ 5 minutes, le cyclisme n'était toujours pas détecté ..



1
votes

dans Session 612 au WWDC 2014 , les deux ingénieurs Apple présentant ont fourni des informations : dans les diapositives ils ont déclaré:

performance est très sensible à l'emplacement

  • fonctionne mieux si le périphérique est porté sur le bras supérieur pour les cas d'utilisation rétrospective

    La plus longue latence

    • meilleur pour les cas d'utilisation rétrospective

      dans la vidéo ils Expliquez sur la piste audio (à partir de 11h00) que

      Le cyclisme est nouveau, quelque chose que nous avons introduit dans iOS 8. Le cyclisme est très difficile, et encore une fois, vous avez besoin de la dynamique et ainsi Cela va être très sensible à l'emplacement. S'il était monté sur le bras supérieur, la latence va être équitablement raisonnable. Et si c'est ailleurs, ça va prendre beaucoup plus de temps. Si définitivement, je ne suggérerais pas d'utiliser la classification des activités de cyclisme comme indice pour le contexte ici et maintenant. C'est vraiment quelque chose que vous voudrez utiliser de manière rétrospective pour une application de journalisation, par exemple

      J'ai créé une simple configuration de test pour iOS 8 et 9 et iPhone 5s et 6 et le cyclisme n'a pas été détecté - pas une seule fois dans plus de 1,5 heure de cyclisme. Si le nouvel iPhone 6S fait de bonnes raisons, ce déficit majeur de la détection d'activité de mouvement n'est pas clair - Phil Schiller a annoncé le en septembre 2015.

      tl; tr

      Actuellement, la détection du cyclisme de Coremotion ne fonctionne pas car elle fonctionne pour la stationnaire, la marche, la course à pied et la voiture! Il ne sera pas détecté et peut être utilisé de manière rétrospective uniquement.


1 commentaires

Les iPhone6s ne semblent pas améliorer les choses. Le cyclisme est toujours compté vers mon pas dans les tests initiaux.