这段时间在进行蓝牙的项目涉及到与设备发送数据和接受数据的问题
接收数据是没问题的
但是在给蓝牙设备发送数据的时候怎么也会有回调
我们是按照协议上来的
关于 处理 通知监听 和 设备UUID名字等,最后终于找到问题的所在了
我们
//@,业务数据
【IOS-OC-蓝牙写入数据代理没回调的问题。】//1, APP 发送数据采用 Characteristics 的 UUID (0xfff3);
//2,设备向手机 APP 发送数据采用 Characteristics 的 UUID (0xfff2)
//3,所以我们要遍历特征值,对FFF2进行数据订阅 FFF3进行数据读写
首先对数据读写进行处理 然后在发送数据的时候
// 3.0 给设备发送数据
Byte array[] = {0x5A, 0x12, 0x00, 0x6C};
NSData *data = https://www.it610.com/article/[NSData dataWithBytes: array length: sizeof(array)];
[self writeChar:data];
-(void)writeChar:(NSData *)data
{
[_discoveredPeripheral writeValue:data forCharacteristic:_writeCharacteristic type:CBCharacteristicWriteWithResponse];
}
标红部分注意 就是这句代码 搞死人 不要写成 CBCharacteristicWriteWithoutResponse
#pragma mark 写数据后回调
- (void)peripheral:(CBPeripheral *)peripheral didWriteValueForCharacteristic:(CBCharacteristic *)characteristicerror:(NSError *)error {
if (error) {
NSLog(@"Error writing characteristic value: %@",
[error localizedDescription]);
return;
}
NSLog(@"写入%@成功",characteristic);
}