– =编辑= –
这是我们用于编写特征的代码.当我们尝试在第二次调用dIDConnect时调用它时,它会失败,因为外围设备没有任何服务:
+(voID)writeData:(NSData*)data toperipheral:(CBPeripheral*)peripheral service:(Nsstring*)sCBUUID characteristic:(Nsstring*)cCBUUID{ // Sends data to BLE peripheral to process HID and send EHIF command to PC for(CBService *service in peripheral.services) { if([service.UUID.stringValue isEqualToString:sCBUUID]) { for(CBCharacteristic *characteristic in service.characteristics) { if([characteristic.UUID.stringValue isEqualToString:cCBUUID]) { /* EVERYTHING IS FOUND,WRITE characteristic ! */ [peripheral writeValue:data forCharacteristic:characteristic type:CBCharacteristicWriteWithResponse]; return; } } } }}解决方法 我记得在我使用CoreBluetooth的工作中,这种行为是有意的,因为它以这种方式记录.断开连接后,我们不应重用相同的外围设备实例. Instead we should ask CBCentralManager to give us a fresh CBPeripheral using its known peripheral UUID.参见: CBCentralManager.retrievePeripheralsWithIdentifiers: 总结
以上是内存溢出为你收集整理的ios – CoreBluetooth在重新连接时不会发现服务全部内容,希望文章能够帮你解决ios – CoreBluetooth在重新连接时不会发现服务所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)