2016-01-27 18 views
6

Devo creare un'app che registri i dati relativi alla frequenza cardiaca quasi in tempo reale e invii questi dati a un server il prima possibile.iOS riceve la frequenza cardiaca da Apple Osservare quasi in tempo reale

Per prima cosa ho preso questo approccio: Watch os 2.0 beta: access heart beat rate

In realtà si sta lavorando bene. Vi sono nuovi dati relativi alla frequenza cardiaca nell'HealthKit ogni cinque secondi. Ma ora ho il problema che non riesco a sincronizzarlo con un server.

Il mio primo approccio è stato l'app Watch. L'orologio stava inviando dati a un server. Questo non funziona perché non appena lo schermo diventa nero sull'orologio, smette di inviare.

Il mio prossimo approccio era di interrogare l'HealthKit sull'iPhone ogni cinque secondi per i nuovi dati. Funziona, purché l'app sia in primo piano.

Poi ho visto che c'è qualche tipo di funzionalità di sfondo che guarda il HealthKit stesso e revoca l'applicazione da sfondo e si può fare qualcosa. (EnableBackgroundDeliveryForType) Questo non sembra funzionare per la frequenza cardiaca (la documentazione Apple dice per cose come i passaggi non funzionano, immagino che la frequenza cardiaca sia una di quelle).

Sono bloccato ora. Sai come farlo? Avrei bisogno di qualche attività in background che viene eseguita ogni 5-10 secondi su iPhone. Che sembra essere impossibile

+0

Non si esaurirebbe rapidamente la batteria? Voglio dire mandare i dati ogni 5 secondi o così –

+0

Sarebbe solo una rapida richiesta GET ad un server che invia una data e la frequenza cardiaca e per una partita di tennis, quindi non sarà usato quel lungo – user2529173

+0

@ user2529173, tu pensate che non ci vorrà molto, ma un utente con decine di tali app dovrà inviare 2 richieste al secondo a server arbitrari senza una bassa latenza garantita o percorsi ottimali, non sono nemmeno garantiti per essere vivi e le richieste possono essere facilmente impiccato fino al timeout. Prova a utilizzare i recuperi di sfondo in combinazione con il kit di salute, il sistema deciderà quando l'app dovrebbe essere autorizzata ad accedere al web, non è chiaramente documentata, ma credo che gli intervalli dipenderanno dalla frequenza con cui l'app viene utilizzata e dalla velocità * * veramente ** esegue, ofc in cima a uno stato generale del dispositivo. –

risposta

12

UPDATE

Come notato da @BootMaker, Apple ha reso disponibile per la modalità sfondo HKWorkout applicazioni in watchos 3, quindi è ora di lavoro. Si deve eseguire un HKWorkoutSession e questo manterrà la vostra consegna frequenza cardiaca in tempo reale anche quando l'applicazione è in background (schermo scuro di guardia)

Il più vicino che si sta per essere è mentre l'app orologio è aperta.

Perché sto affermando questo?

  1. ci sono due database di HealthKit (uno a l'iPhone e un altro alla Apple Osservare). Quando sincronizzano è arbitrario e deciso solo dagli O.S.

  2. Il più vicino che si sta per essere quello di tempo reale è quando si non si dispone di una password di blocco dello schermo in iPhone o Apple Osservare. In entrambi i casi, non c'è alcuna garanzia che la sincronizzazione avverrà ogni volta che una nuova misura si aggiunge al HealthKit di Apple Osservare

  3. L'unico modo per forzare il sensore di frequenza cardiaca a lavorare in tempo reale è tramite allenamenti o osservatore mentre l'app Apple Watch è in PRIMO PIANO.

  4. La consegna in background è NON disponibile per le app di Apple Watch.

  5. Guarda OS 2 richiesta il sensore per misurare automaticamente (in background) ogni minimo 10 minuti.

Non c'è altra soluzione, se avete bisogno di tempo reale per periodi più lunghi, o mentre l'utente non sta usando la vostra applicazione, è necessario utilizzare un specializzato indossabile.

+0

Grazie per la risposta. Ho avuto paura di questa risposta. Sembra che il progetto non possa essere fatto con Apple Watch. Comunque, grazie – user2529173

+0

conosco la sensazione. Dovrai ruotare e forse attendere la prossima versione di ** Watch OS **. Forse decidono di aggiungere la funzionalità ** HKObserver ** su HealthKit di Watch –

+1

La risposta di Hugo è corretta e rivela i limiti seri dell'Apple Watch, ed è vero anche per tutti gli altri sensori come l'accelerometro. In realtà è un gadget abbastanza inutile ora senza sensori in tempo reale ... devi aspettare le nuove uscite watchOS o il nuovo dispositivo o semplicemente usare un wearable per qualche dollaro. – BootMaker

Problemi correlati