应用程序处于后台蓝牙模式时如何保存数据?

How to Save data when application is in background bluetooth mode?

我从文档中了解到,iOS 应用程序可以在后台模式下扫描 BLE 设备。它还可以从外围设备检索数据。

问题

我能用这些数据做什么。我的目的是将这些数据(当然是在反序列化之后)保存到核心数据中。我该怎么做?

如果这不可能,推荐的方法是什么? (NSUserDefaults 和与 CoreData 同步后?)

(iOS10, Swift3)

而在后台注册到 BLE 事件的应用程序将在您注册的 BLE 相关事件发生时被系统唤醒。然后将按照苹果官方文档中的说明调用适当的委托方法。

将从 BLE 唤醒您的应用程序的事件有通知、新外设(如果您处于发现模式)、新连接事件 (connection/disconnection)。

从应用程序被系统唤醒的那一刻起,您有大约 8 秒的时间来执行您的代码并响应 BLE 更新。在这段时间内 window 您可以执行任何类型的操作,包括与核心数据相关的工作。

请考虑阅读 Apple 发布的这份文档,以帮助开发人员开发适用于 BLE 的出色应用程序:https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothBackgroundProcessingForIOSApps/PerformingTasksWhileYourAppIsInTheBackground.html