Имам устройство за сърдечен ритъм, свързано с моето приложение, и се притеснявам от загуба на сърдечен ритъм при различни сценарии.
Когато приложението е на преден план, предавам поточно сърдечни честоти и ги съхранявам в база данни на трета страна. Това е лесната част.
Нещата се усложняват, когато приложението отиде на заден план, докато потребителят тренира и т.н., а сърдечната честота все още се предава. Файловата система става криптирана, така че не мога да пиша в базата данни, така че идеята ми е да добавя сърдечни честоти към текстов файл, след което да ги изтегля в базата данни, когато приложението се върне на преден план.
Все още става по-сложно, защото сърдечните честоти са веднъж в секунда, така че може да има десетки хиляди, преди приложението да се върне. Мисля, че вместо да ги добавя към текстов файл, просто да създам имена на файлове, които показват числото на сърдечната честота и да извлека данните от имената на файловете и датата на създаване. По този начин никога не трябва да отварям файл. Просто трябва да прочета неговите метаданни и да изтрия файла, когато бъде прочетен в базата данни.
За толкова проста на пръв поглед задача става още по-сложна. Трябва да се справя с Core Bluetooth и да се уверя, че поддържа връзката отворена, но не мога да си представя, че iOS ще позволи на приложението да слуша устройството за сърдечен ритъм за неопределено време. В един момент приложението ще приключи, но какво се случва с потока от сърдечен ритъм?
Има ли доказан начин за справяне с потока на сърдечния ритъм във фонов режим за неопределено време? Всеки съвет или опит ще бъде много оценен!