所以情况就是这样:我能够看到外围设备内部的服务,但是如果不调用discoverServices:
我就无法正确解码它们。
问题是:如何将CBUUID.data
转换为存储的实际NSString
?
- 数据显示为<20c0b7a0 982c11e2 9e960800 200c9a66>
- 但存储的实际值为DF8EE4F1-4899-4FF6-8EE4-75890
但是在得出任何结论之前,我已经尝试了我发现的每种解码方法,包括:
1)
NSString *uuidString = [NSString stringWithUTF8String:[uuidData bytes]];
2)。
NSString *uuidString = [[NSString alloc] initWithBytes:[uuidData bytes]
length:[uuidData length] encoding: NSUTF8StringEncoding];
//I tried this method with every single type of encoding actually
上述两种方法均为(null)
;
3。)
size_t length = [uuidData length];
unsigned char aBuffer[length];
[uuidData getBytes:aBuffer length:length];
aBuffer[length - 1] = 0;
NSLog(@"uuid: %s", aBuffer);
此方法返回:¿∑†ò,‚ûñ
如果有人能正确解码或编码,我将永远感激!!!