我找不到任何官方的方式將UUID字符串從CBUUID中取出。這些UUID的長度可以是2或16個字節。如何將CBUUID轉換爲字符串
目標是將CBUUID作爲字符串存儲在某個文件中,然後使用[CBUUID UUIDWithString:]重新生成等等。這是迄今爲止我所擁有的。
// returns a simple 4 byte string for 16bit uuids, 128 bit uuids are in standard 8-4-4-4-12 format
// the resulting string can be passed into [CBUUID UUIDWithString:]
+(NSString*)CBUUIDToString:(CBUUID*)cbuuid;
{
NSData* data = cbuuid.data;
if ([data length] == 2)
{
const unsigned char *tokenBytes = [data bytes];
return [NSString stringWithFormat:@"%02x%02x", tokenBytes[0], tokenBytes[1]];
}
else if ([data length] == 16)
{
NSUUID* nsuuid = [[NSUUID alloc] initWithUUIDBytes:[data bytes]];
return [nsuuid UUIDString];
}
return [cbuuid description]; // an error?
}
蘋果只是在iOS 7.1中將所有這些答案都廢棄了。請參閱下面的答案。 – Andrew