0

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

4

1 回答 1

1

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

于 2015-02-13T21:38:02.430 回答