Re-Pair HomeKit Аксессуар
В симуляторе аксессуаров HomeKit есть кнопка нечистоты. Когда вы отсоединяете аксессуар, кажется, что аксессуар остается в базе данных HomeKit в том доме, в котором он был ранее назначен. Я хотел бы добавить процесс для удаления аксессуара из базы данных или повторного сопряжения аксессуара.
Есть ли какой-либо метод делегата, вызываемый, когда аксессуар не связан?
Есть ли способ проверить, сопряжены ли ранее обнаруженные аксессуары? Я ищу что-то конкретно связанное с сопряжением -
isReachable
свойство слишком общее.Есть ли способ починить аксессуар? После вызова
addAccessory
Метод на дому, я получаю сообщение об ошибке, так как аксессуар уже дома - просто не в паре с устройством.
2 ответа
Отсоединение аксессуара от симулятора просто удаляет отношение сопряжения в симуляторе, а не из базы данных homekit. Из HMCatalog вы можете удалить аксессуар, проведя по аксессуару на главном экране и нажав кнопку удаления.
У homekit нет способа определить, закончился ли аксессуар в отношениях сопряжения. Когда вы отключаете симулятор таким образом, он очищает ключи симулятора для этого аксессуара, но не сообщает homekit. Насколько homekit может сказать, что аксессуар просто больше не виден (то есть недоступен).
Чтобы удалить аксессуар, вам нужно вызвать метод removeAccessory на HMHome из вашего приложения. Это приведет к удалению аксессуара из дома и уведомлению аксессуара об удалении отношения сопряжения с устройством. Оттуда вы сможете снова добавить аксессуар.
Я на самом деле не знаю, как удалить один аксессуар из дома, ни пример приложения HMCatalog от Apple, кажется, не в состоянии сделать это.
В любом случае, вы всегда можете очистить всю базу данных HomeKit со своего iPhone, зайдя в Настройки-> Конфиденциальность->HomeKit и нажав "Инициализировать данные конфигурации. HomeKit...". Затем вам нужно воссоздать дом и снова подключить аксессуар.
НТН