服务不能多次添加

时间:2016-06-03 13:41:07

标签: ios core-bluetooth gatt

使用以下代码重新发布我的蓝牙服务,我间歇性地发现了以下错误消息。

self.stopAdvertising()
peripheralManager.removeAllServices()
if let service = self.cbService {
  NSThread.sleepForTimeInterval(0.1)
  peripheralManager.addService(service)
  self.startAdvertising()
}

2016-06-03 09:32:10.262 BottleSimulator [180:3587] *断言失败 - [CBPeripheralManager addService:],/ SourceCache / CoreBluetooth / CoreBluetooth-256 / CBPeripheralManager.m:307 2016-06-03 09:32:10.270 BottleSimulator [180:3587] * 由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'服务不能多次添加'

为什么我会这样?我认为拨打removeAllServices()可以防止这种情况发生。我甚至为测试添加了一个睡眠,但它并没有阻止间歇性的崩溃。

是否有更可靠的方式重新发布服务?

0 个答案:

没有答案