NSUUID to NSString from (CBPeripheral *)aPeripheral



我想从CBPeripheral保存NSUUID的字符串版本。

我试试这个:

NSString *uuidString = aPeripheral.UUID;

但会出现一条警告:

Incompatible pointer types initializing NSString with an expression of type CFUUIDRef
- (void) centralManager:(CBCentralManager *)central didConnectPeripheral:(CBPeripheral *)aPeripheral  {
    NSLog(@"method didConnectPeripheral %@ " , aPeripheral.UUID);
    NSString *uuidString = aPeripheral.UUID;
}

CBPeripheral-UUID方法返回CFUUIDRef,而不是NSString,并且从iOS 7.1开始也被弃用。如果需要使用它,请将其存储在CFUUIDRef中,或者使用CFUUIDCreateString并将其桥接到NSString

UUID 不是字符串(即使它经常表示为字符串)。

您可以使用CFUUIDCreateString()将其转换为CFStringRef;

最新更新