我正在开展一个项目,将 iOS 与配备蓝牙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,我可以使用预定义的缩短16位来生成 CBUUID ,例如
CBUUID *heartRateServiceUUID = [CBUUID UUIDWithString: @"180D"];
我可以直接写:
CBUUID *heartRateServiceUUID = [CBUUID UUIDWithString: @"FFE0"];
无论它意味着什么?