Ich muss eine App machen, die Herzfrequenzdaten in nahezu Echtzeit aufzeichnet und diese Daten so bald wie möglich an einen Server senden.iOS bekommen Herzfrequenz von Apple Watch in nahezu Echtzeit
Zuerst nahm ich diesen Ansatz: Watch os 2.0 beta: access heart beat rate
In der Tat ist es in Ordnung arbeitet. Es gibt neue Herzfrequenzdaten im HealthKit alle fünf Sekunden. Aber jetzt habe ich das Problem, dass ich das nicht mit einem Server synchronisieren kann.
Mein erster Ansatz war die Watch App. Die Uhr hat Daten an einen Server gesendet. Das funktioniert nicht, denn sobald der Bildschirm auf der Uhr schwarz wird, hört er auf zu senden.
Mein nächster Ansatz war, das HealthKit auf dem iPhone alle fünf Sekunden nach neuen Daten abzufragen. Dies funktioniert, solange die App im Vordergrund ist.
Dann habe ich gesehen, dass es eine Art Hintergrundfunktion gibt, die das HealthKit selbst überwacht und die App aus dem Hintergrund entfernt und Sie können etwas tun. (EnableBackgroundDeliveryForType) Dies scheint nicht für die Herzfrequenz zu funktionieren (die Apple Dokumentation sagt für Dinge wie Schritte das funktioniert nicht, ich denke Herzfrequenz ist einer von denen).
Ich stecke jetzt fest. Weißt du wie? Ich würde eine Hintergrundaufgabe benötigen, die alle 5-10 Sekunden auf dem iPhone ausgeführt wird. Das scheint von @BootMaker
Wäre das nicht die Batterie ganz schnell erschöpfen? Ich meine Daten oder so alle 5 Sekunden senden –
wäre es nur eine schnelle GET-Anforderung an einen Server ein Datum und die Herzfrequenz und es für ein Tennismatch zu senden, so wird es nicht verwendet werden, so lange – user2529173
@ user2529173, Sie Ich denke, es wird nicht lange dauern, aber ein Benutzer mit Dutzenden solcher Apps muss 2 Anfragen pro Sekunde an beliebige Server schicken, ohne garantierte niedrige Latenz oder optimale Routen, sie sind nicht einmal garantiert am Leben zu sein und die Anfragen können leicht sein bis zum Timeout gehängt. Versuchen Sie, die Hintergrundabrufe in Verbindung mit dem Gesundheitspaket zu verwenden. Das System entscheidet, wann die App auf das Internet zugreifen darf. Es ist nicht eindeutig dokumentiert, aber die Intervalle hängen davon ab, wie häufig die App verwendet wird und wie schnell sie ist. * Wirklich ** wird ausgeführt, zusätzlich zu einem allgemeinen Gerätezustand. –