Услуги не могут быть добавлены более одного раза

Используя следующий код для повторной публикации моей службы Bluetooth, я периодически получаю сбой с сообщением об ошибке ниже.

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 ответов

Другие вопросы по тегам