niv*_*vek 8 uuid bluetooth energy objective-c
我尝试用iOS CoreBluetooth框架创建一个128Bit.
我写的代码在这里:
//16Bit Value-String
static NSString * const ADVERTISING_SERVICE_16=@"FFC0";
//Var for 128Bit String
static NSString * ADVERTISING_SERVICE;
//A Base UUID
static NSString * const BASE_UUID=@"0405060708090A0B0C0D0E0F";
+ (NSString*) get128BitUUID:(NSString*)uuid{
return [[NSString alloc] initWithFormat:@"0000%@%@",uuid,BASE_UUID];
}
ADVERTISING_SERVICE = [UUIDFuncs get128BitUUID:ADVERTISING_SERVICE_16];
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试使用此UUID时:
if([service.UUID isEqual:[CBUUID UUIDWithString:ADVERTISING_SERVICE] ]){
[peripheral discoverCharacteristics:nil forService:service];
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误消息:
2012-09-04 14:18:06.127 blukiiFirmwareTest[3154:707] *** Terminating app due to uncaught
exception 'Invalid UUID string', reason: 'String 0000FFC00405060708090A0B0C0D0E0F
does not represent a valid UUID'
Run Code Online (Sandbox Code Playgroud)
我不明白为什么; 字符串是一个16字节长的UUID,这是128位所以为什么我得到这个错误?
Jor*_*ers 22
在命令行类型uuidgen上创建一个新的随机uuid:
0C50D390-DC8E-436B-8AD0-A36D1B304B18
Run Code Online (Sandbox Code Playgroud)
你会看到它是由@PenguinCoder链接的维基百科页面所提到的8-4-4-4-12的形式.
CBUUID使用此格式创建一个字符串将起作用:
CBUUID *uuid = [CBUUID UUIDWithString:@"0C50D390-DC8E-436B-8AD0-A36D1B304B18"];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7250 次 |
| 最近记录: |