IOS corebluetooth后台模式通知

IOS corebluetooth后台模式通知,ios,notifications,core-bluetooth,Ios,Notifications,Core Bluetooth,目前,我正在使用核心蓝牙技术与项目合作。其中,am使用后台模式通信,当应用程序在后台运行时,am能够接收通知,但我们只有一个服务和一个基于帧类型的数据通信特征,我们能够识别接收到的帧 对于后台模式,我使用了以下代码 [centralManager connectPeripheral:activePeripheral options:@{CBConnectPeripheralOptionNotifyOnConnectionKey: @YES, CBConnectPeripheralOpti

目前,我正在使用核心蓝牙技术与项目合作。其中,am使用后台模式通信,当应用程序在后台运行时,am能够接收通知,但我们只有一个服务和一个基于帧类型的数据通信特征,我们能够识别接收到的帧

对于后台模式,我使用了以下代码

[centralManager connectPeripheral:activePeripheral options:@{CBConnectPeripheralOptionNotifyOnConnectionKey: @YES,
    CBConnectPeripheralOptionNotifyOnDisconnectionKey: @YES,
    CBConnectPeripheralOptionNotifyOnNotificationKey: @YES}];
它在事件和会话背景下都可以正常工作

事件背景警报为每个通知显示是否有任何方法可以仅在需要时隐藏每个通知显示的警报

谢谢

在事件模式下,警报是由系统生成的,只要你的应用程序没有激活,它就不能对它们做任何事情


在会话模式下,应用程序负责处理所有这些事件。它接收所有回调,就像在前台一样。如果您想最大限度地减少用户的干扰,您应该使用此模式来生成警报。

我想我可以帮助您,但前提是您能够更好地表达您的问题。我真的不明白你的问题是什么,你试图实现什么,你的应用程序的当前状态是什么。尝试编辑您的问题,并以更清晰的方式提供更多信息。欢呼当设备处于会话模式时,是否有一定的时间可以保持活动状态?它如何知道在后台重新连接并开始通信?您的应用程序将收到一个回调,并在每个BLE事件(连接、断开连接、发现、通知等)上获得大约8秒的时间,但它无法以其他方式运行。否则它必须暂停。但无法在所需时间唤醒应用程序。只有连接的对等方生成的不可编辑事件才能做到这一点。@allprog 8秒部分对..来说非常有趣。。你从哪里得到那个号码的?有官方文档吗?好的,明白了:
一个应用程序被唤醒后,大约有10秒的时间来完成一项任务。理想情况下,它应该尽快完成任务,并允许自己再次暂停。花费太多时间在后台执行的应用程序可能会被系统限制或终止。