iOS基础蓝牙连接和数据通信请在CSDN搜索其他博文,这里不再赘述。
iOS保证后台蓝牙长连接的方法,经亲测过归纳为以下几项:
1.后台静音音频的循环播放
后台循环播放一个静音的音频文件来保证APP的持续存活,不失为一个曲线方法。缺点是需要后台音频播放的说明及权限,在APP审核过程中会有被拒绝的风险。APP后台持续活动,不论是一直扫描还是连接 Peripheral都可以做到蓝牙重连。
2.连接特定的 Peripheral
iOS蓝牙连接最基本的方法是扫描,处于后台的APP无法持续的扫描蓝牙,即使使用
[[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
NSLog(@"begin bgend=============");
// 如果在系统规定时间内任务还没有完成,在时间到之前会调用到这个方法,一般是10分钟
}];
来申请延长后台驻留时间也无法一直持续扫描下去。连接特定的 Peripheral保持长连接的方法就是在APP前台扫描连接过程中保存下Peripheral对象,在进入后台断开连接的情况下直接连接这个Peripheral:
- (void)connectPeripheral:(CBPeripheral *)