Xamarin iOS — интеграция с HomeKit

#ios #xamarin #xamarin.ios #homekit

#iOS #xamarin #xamarin.ios #homekit

Вопрос:

Я работаю над приложением, использующим Xamarin.iOS. Мне нужно добавить возможность добавления аксессуара в HomeKit, используя адрес, поступающий из внутреннего API (в основном я извлекаю адрес устройства с помощью веб-запроса). Как только у меня будет этот код настройки аксессуара, я попытаюсь использовать следующий API из HomeKit

https://learn.microsoft.com/en-us/dotnet/api/homekit.hmhome.addandsetupaccessories?view=xamarin-ios-sdk-12#HomeKit_HMHome_AddAndSetupAccessories_HomeKit_HMAccessorySetupPayload_System_Action_HomeKit_HMAccessory___Foundation_NSError__

в частности, API со следующей подписью AddAndSetupAccessories(hmaccessorysetupplayload, Action<HMAccessory[],NSError>), но действие, которое должно быть вызвано по завершении, никогда не вызывается.

Единственный результат, который я получаю, это то, что мое приложение пытается перейти в фоновый режим, но оно остается застрявшим и становится непригодным для использования.

Единственный намек, который я получаю из журнала устройства, заключается в следующем:

Хост-приложение HomeUIService не имеет права ‘com.apple.homekit.private-spi-access’ или ‘com.apple.developer.homekit.разрешить-setup-payload’ — не разрешено добавлять с URL!

но у меня есть права на Homekit, добавленные в мое приложение. Я не могу найти никакой документации по правам, указанным в сообщении журнала.

Кто-нибудь сталкивался с чем-то подобным?

Спасибо вам, ребята

Комментарии:

1. Привет, содержит ли Apple ID службу HomeKit перед созданием профилей подготовки?

2. Да, сначала мы добавили флаг к идентификатору приложения, а затем создали профиль подготовки.

Ответ №1:

Я получил ответ от службы поддержки Apple, поэтому я отвечаю на свой вопрос только для кого-то в будущем или для себя в прошлом (спойлер Dark series :).

В принципе, этот API не работает, если вы не добавите право «com.apple.developer.homekit.разрешить настройку полезной нагрузки» со значением, равным True.

Я знаю, что документации по этому поводу нет, но это все.

Приветствую, ребята