HomeKit HMService serviceType问题

时间:2014-10-03 13:33:46

标签: ios8 xcode6 homekit

我在附件模拟器上启用了两个灯泡型配件。当我尝试读取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。现在它打印出这个奇数值。任何想法或想法都表示赞赏。

1 个答案:

答案 0 :(得分:1)

HMServiceTypeLightbulb是一个字符串常量,定义为您提供的十六进制字符串。 HomeKit配件/服务/特性系统模仿BLE的工作原理,可能是为了简化BLE HomeKit配件的实施。长十六进制字符串的格式与BLE UUID的格式相同。在查找特定服务时,只需检查HomeKit提供的HMxxx常量上的字符串相等性。

相关问题