我在附件模拟器上启用了两个灯泡类型的附件。当我尝试读取HMService的serviceType时,它返回如下内容:
0000003E-0000-1000-8000-0026BB765291代替HMServiceTypeLightbulb
for (int i = 0; i < [homeKitController.accessories count]; i++) {
HMAccessory *accessory = [homeKitController.accessories objectAtIndex:i];
NSArray *services = accessory.services;
for (int i = 0; i < [services count]; i++) {
HMService *service = [services objectAtIndex:i];
NSLog(@"%@", service.serviceType);// <-returns 0000003E-0000-1000-8000-0026BB765291
}
}上面的代码在Xcode beta 1期间工作(在Xcode 6 GM出来之前)。它用于将服务的类型作为NSString打印出来。现在它打印这个奇数的值。任何想法或想法都是值得欣赏的。
发布于 2015-02-14 05:38:02
HMServiceTypeLightbulb是一个字符串常量,它被定义为您提供的十六进制字符串。附件/服务/特征的HomeKit系统模仿了BLE的工作方式,可能是为了简化BLE HomeKit附件的实现。长十六进制字符串与BLE UUID的格式相同。在查找特定服务时,只需检查HomeKit提供的HMxxx常量的字符串相等性。
https://stackoverflow.com/questions/26179957
复制相似问题