【发布时间】:2015-03-10 22:35:45
【问题描述】:
我正在做一个项目,将 iOS 与配备 Bluetooth 4.0 的设备连接起来。
设备是从第三方购买的。 (我的 iPhone 作为中心角色)连接后,我打印它的 UUID。
for (CBService *service in peripheral.services) {
NSLog(@"service :%@", service);
NSLog(@"service uuid %@", service.UUID);
[peripheral discoverCharacteristics:nil forService:service];
}
输出是
2015-01-13 10:09:03.474 TestBTCC[3149:828116] service :<CBService: 0x17406f000, isPrimary = YES, UUID = FFE0>
2015-01-13 10:09:03.474 TestBTCC[3149:828116] service uuid FFE0
UUID 应为 128 位。而16bit应该是一些预定义的UUID的缩短格式。这是什么?
根据https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/PerformingCommonPeripheralRoleTasks/PerformingCommonPeripheralRoleTasks.html#//apple_ref/doc/uid/TP40013257-CH4-SW8,我可以使用预定义的shorten 16bit来生成CBUUID,比如
CBUUID *heartRateServiceUUID = [CBUUID UUIDWithString: @"180D"];
我可以直接写吗:
CBUUID *heartRateServiceUUID = [CBUUID UUIDWithString: @"FFE0"];
不管是什么意思?
【问题讨论】:
标签: ios bluetooth uuid core-bluetooth