我正在尝试从BLE设备读取数据,但始终出现权限错误。演示项目可以在这里找到:https : //github.com/sergiomtzlosa/CoreBluetooth-Demo(请记住-我的代码与此代码有些不同)。
一般而言,连接和读取值没有问题,但是有一些特征(必不可少)会导致权限错误。
控制台日志:更新错误!!!特征:“未知(<fff4>)”,错误:“不允许读取”。
因此,当我从该特性订阅或读取数据时,它每次都会向我发送NULL(可能的原因:没有读取权限)。
控制台日志:特征:“未知(<fff4>)”->值:(null)
这是一个代码段:
//Action on discovering services
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error
{
if (error)
{
NSLog(@"Discovered services for %@ with error: %@", peripheral.name, [error localizedDescription]);
return;
}
for (CBService *service in peripheral.services) {
NSLog(@"Discovereddddddddddd service %@", service.UUID);
[testPeripheral discoverCharacteristics:nil forService:service];
}
NSLog(@"didDiscoverServicesEnd");
}
//Action on discovered characteristics
- (void)peripheral:(CBPeripheral *)peripheral
didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error {
NSLog(@"didDiscoverCharacteristicsForService!");
for (CBCharacteristic *characteristic in service.characteristics) {
NSLog(@"Discovered characteristic %@", characteristic.UUID);
NSLog(@"---------------------------------------------------");
NSLog(@"Reading value …Run Code Online (Sandbox Code Playgroud)