Tôi đã cố tạo 128Bit với khung công tác CoreBluetooth của iOS.Tạo UUID 128Bit với chuỗi
Mã mà tôi đã viết là ở đây:
//16Bit Value-String
static NSString * const [email protected]"FFC0";
//Var for 128Bit String
static NSString * ADVERTISING_SERVICE;
//A Base UUID
static NSString * const [email protected]"0405060708090A0B0C0D0E0F";
+ (NSString*) get128BitUUID:(NSString*)uuid{
return [[NSString alloc] initWithFormat:@"0000%@%@",uuid,BASE_UUID];
}
ADVERTISING_SERVICE = [UUIDFuncs get128BitUUID:ADVERTISING_SERVICE_16];
Và bây giờ khi tôi cố gắng để có được một UUID với điều này:
if([service.UUID isEqual:[CBUUID UUIDWithString:ADVERTISING_SERVICE] ]){
[peripheral discoverCharacteristics:nil forService:service];
}
tôi nhận được thông báo lỗi này:
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'
Tôi không hiểu tại sao; chuỗi là 16 Byte dài UUID, đây là 128 Bit vậy tại sao tôi nhận được lỗi này?
[UUID] (http://en.wikipedia.org/wiki/Universally_unique_identifier#Definition) là một định dạng tiêu chuẩn, không chỉ là một chuỗi thẳng của HexText. – PenguinCoder
Cùng một lỗi xảy ra khi tôi sử dụng Bluetooth UUID cơ sở. – nivek
@nivek Vì vậy, làm thế nào bạn giải quyết vấn đề này sau đó khi sử dụng Base UUID như "1813"? Có lẽ nó thực sự là một thời gian dài trước đây, nhưng tôi cũng gặp vấn đề này. – Calios