【发布时间】:2020-01-27 14:35:46
【问题描述】:
在 iOS 13 上使用我的应用时,制造商数据已更改格式。
在 iOS 12 中访问 kCBAdvDataManufacturerData 时,我得到以下格式:
但在 iOS 13 中,我得到了这种格式:
{长度 = 4,字节 = 0x13376400}
有谁知道为什么会发生这种变化?
如何将“1337”部分检索为字符串?
这是我访问和打印数据的方式:
NSData *manufacturerData = [advertisementData objectForKey:kCBAdvDataManufacturerData];
NSString *manufacturerString = [NSString stringWithFormat:@"%@", manufacturerData];
NSString *companyIdentifier = [manufacturerString substringWithRange:NSMakeRange(1, 4)];
NSLog(@"%@", companyIdentifier);
打印:长度
我尝试了manufacturerData.bytes,但它给了我EXC_BAD_ACCESS 错误。
【问题讨论】:
-
格式没有改变,只是当你
printData的实例时得到的输出。展示您如何访问数据。 -
stackoverflow.com/questions/58128802/… 查看 cmets。
NSData的description已更改。在产品中使用它从来都不是一个好的解决方案。 -
我没有使用描述。我做错了什么?
-
NSString *manufacturerString = [NSString stringWithFormat:@"%@", manufacturerData];那叫description。克利里。
标签: objective-c core-bluetooth ios13