我有一个连接到我的应用程序的心率设备,并且担心在不同情况下会丢失心率。
当应用程序在前台时,我正在流式传输心率并将它们存储在第 3 方数据库中。那是容易的部分。
当应用程序在用户锻炼等时进入后台时,事情会变得复杂,并且心率仍在流式传输。文件系统已加密,因此我无法写入数据库,所以我的想法是将心率附加到文本文件中,然后在应用程序返回前台时将它们拉入数据库。
它仍然变得更加复杂,因为心率是每秒一次,所以在应用程序返回之前可能有数万次。我在考虑不是将它们附加到文本文件中,而是创建指示心率数的文件名并从文件名和创建日期中获取数据。这样,我永远不必打开文件。我只需要读取它的元数据并在读入数据库时删除文件。
对于这样一个看似简单的任务,它变得更加复杂。我必须处理 Core Bluetooth 并确保它保持连接打开,但我无法想象 iOS 会允许应用程序无限期地收听心率设备。在某些时候应用程序将终止,但心率流会发生什么?
是否有一种经过验证的方法可以无限期地在后台处理流式心率?任何建议或经验将不胜感激!