背景蓝牙与iOS设备

时间:2014-11-27 12:21:26

标签: ios bluetooth core-bluetooth

我正在开发蓝牙外设,以便与我的iOS设备配合使用。我需要让iOS应用程序在后台接收数据并处理数据。通过Apple的CoreBluetooth框架,我可以看到如何使用后台执行模式。现在为了省电,我希望iOS设备只在特定时间连接到蓝牙外设(无需用户交互)。我查看了iOS上的本地通知,它功能非常有限,并且不认为它提供了我需要的功能。

那么无论如何要在下午6点唤醒应用程序并要求应用程序开始扫描蓝牙设备?然后在设备连接后执行其他代码?所有这些都没有用户互动。

任何建议都将不胜感激!

谢谢!

1 个答案:

答案 0 :(得分:2)

您无法真正安排在iOS中的特定时间进行操作(除了本地通知,正如您所说的那样,不是您所需要的)。

您可以使用后台获取模式定期允许您的应用检查新数据。您可以设置一个间隔(虽然这只是iOS的指南,而不是严格的时间表),以确定您的应用被唤醒的频率。

当iOS调用您的app delegate performFetchWithCompletionHandler方法时,您可以检查当前时间并决定是否要传输数据。如果没有,那么您可以快速返回UIBackgroundFetchResultNoData。如果您确实获得了新数据,那么您可以在返回UIBackgroundFetchResultNewData

之前检索它