我正在开发蓝牙外设,以便与我的iOS设备配合使用.我需要让iOS应用程序在后台接收数据并处理数据.通过Apple的CoreBluetooth框架,我可以看到如何使用后台执行模式.现在为了省电,我希望iOS设备只在特定时间连接到蓝牙外设(无需用户交互).我查看了iOS上的Local Notifications,它的功能非常有限,并不认为它提供了我需要的东西.
那么无论如何要在下午6点唤醒应用程序并要求应用程序开始扫描蓝牙设备?然后在设备连接后执行其他代码?这一切都没有用户交互.
任何建议,将不胜感激!
谢谢!
最佳答案 您无法真正安排在iOS中的特定时间进行操作(除了本地通知,正如您所说的不是您所需要的).
您可以使用后台获取模式定期允许您的应用检查新数据.您可以设置一个间隔(虽然这只是iOS的指南,而不是严格的时间表),以确定您的应用被唤醒的频率.
当iOS调用您的app委托performFetchWithCompletionHandler方法时,您可以检查当前时间并决定是否要传输数据.如果没有,那么您可以快速返回UIBackgroundFetchResultNoData.如果确实获得了新数据,则可以在返回UIBackgroundFetchResultNewData之前检索它