当我的iOS (外围设备)开始做广告时,我立即重新运行我的应用程序,此时,我的电脑(中央)正忙着订阅一个特性并给它写信。
一旦我的外围应用程序完成了启动,就会出现一些问题(可能是因为central之前试图给它写信),我的应用程序就会崩溃:
*** Assertion failure in -[CBPeripheralManager respondToRequest:withResult:], /SourceCache/CoreBluetooth/CoreBluetooth-256/CBPeripheralManager.m:423我从不在代码中调用"respondToRequest“,我的外围设备的所有特性配置如下(WriteWithoutResponse):
let properties: CBCharacteristicProperties = [CBCharacteristicProperties.Read, CBCharacteristicProperties.WriteWithoutResponse, CBCharacteristicProperties.Notify]
let permissions: CBAttributePermissions = [CBAttributePermissions.Readable, CBAttributePermissions.Writeable]当我从Centra的结尾写到特征时,我使用:
writeValue(chunkOfData, forCharacteristic: charactristic, type: CBCharacteristicWriteType.WithoutResponse)我不知道如何防止这个问题。有什么想法吗?
发布于 2015-10-20 01:06:01
从我们的讨论来看,在初始化CBPeripheralManagerOptionRestoreIdentifierKey时提供CBPeripheralManager和相关值,而不是实现状态恢复方法,似乎导致了异常。
https://stackoverflow.com/questions/33224417
复制相似问题