【问题标题】:Reconnect Mac and iPhone in background mode with BLE使用 BLE 在后台模式下重新连接 Mac 和 iPhone
【发布时间】:2014-01-19 16:29:56
【问题描述】:

我将Mac 应用程序作为中心,iPhone 应用程序作为外围设备。

iPhone 位于 FOREGROUND 中时,Central 可以与外围设备连接/重新连接,基于由以下人员发现的外围设备:

-(void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI

但在 FOREGROUND 中连接后:

  • 再次保存连接的外围设备
  • 将外围设备远离中心移动,直到失去连接
  • 然后 iPhone 处于背景模式(在应用的 Info.plist 文件中包含带有 bluetooth-peripheral 值的 UIBackgroundModes 键)
  • 移动中心附近的外围设备,在 didDiscoverPeripheral 之后,我通过 do connectPeripheral 和保存的 connectedPeripheral 重新连接。但是不稳定,有时候很好用,有时候又不能重连。

请帮助我如何在 MAC 和 IOS 之间以后台模式重新连接。

PS:我也想知道敲门应用程序如何在其介绍中做到这一点:

http://www.digitaltrends.com/cool-tech/knock-strange-new-way-unlock-mac/

http://www.theverge.com/2013/11/5/5069614/knock-iphone-app-wirelessly-unlocks-your-mac

谢谢

【问题讨论】:

    标签: macos core-bluetooth


    【解决方案1】:

    当您失去连接时,只需在您保存的外围设备上调用connect。它将尽快重新连接。无需继续/重新开始扫描,但如果这样做,则使用在 didDiscoverPeripheral 回调中返回的外围对象,不是保存的对象

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-09
      • 1970-01-01
      • 1970-01-01
      • 2015-12-18
      • 1970-01-01
      • 2015-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多