ios - 未调用 HMAccessoryDe​​legate 方法

标签 ios swift homekit

我想获取特定配件的可更新特性的值。

所以我正在使用 func accessory(accessory: HMAccessory!, service: HMService!, didUpdateValueForCharacteristic characteristic: HMCharacteristic!) 方法。

但是这个方法并没有被调用。正在调用来自同一委托(delegate)的另一个方法。应该是什么问题?

最佳答案

viewWillAppear 中的特征启用通知

for (HMCharacteristic *thisCharacteristic in characteristicsArray) {
    if ([thisCharacteristic.properties containsObject:HMCharacteristicPropertySupportsEventNotification]) {
        [thisCharacteristic enableNotification:TRUE completionHandler:^(NSError *error) {
            if (error) {
                NSLog(@"Error while enabling notification");
            }
            else    {
                NSLog(@"Notification enabled");
            }
        }];
    }

同时禁用 viewWillDisappear 中的通知

关于ios - 未调用 HMAccessoryDe​​legate 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29117848/

相关文章:

ios - 快速动画文本标签

swift - 如何知道对象内部的异步函数何时完成?

ios - 为什么 "Add Accessory" View Controller 在长时间延迟后才出现?

ios - 如何从二进制文件中删除 HomeKit API

ios - "Done"MPMoviePlayerController 中的按钮在全屏模式下不起作用

ios - 当从 Firebase 控制台更改数据时,如何在 Firebase 上执行多路径数据更新?

ios - 何时使用 respondsToSelector 与 objc_getClass

ios - [UIScreen mainScreen].bounds.size 在 iOS8 中变得依赖方向了吗?

ios - 基于 Stackview 高度的 tableview 单元格的动态高度

javascript - 令人沮丧的语法错误