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
Non si esaurirebbe rapidamente la batteria? Voglio dire mandare i dati ogni 5 secondi o così –
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
@ 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. –