I've been getting into Matter framework and succeeded to add a matter device into Apple Home app.
Then, I use a HomeKit base app to get that device and would like to control that device directly through Matter framework.
This is how I create a MTR Device Controller
static func create(withHmAccessory hmAccessory: HMAccessory, ofHome hmHome: HMHome) -> HomekitLockAccessory {
if #available(iOS 16.4, *) {
let matterNodeId = hmHome.matterControllerID as NSCopying
let controller = MTRDeviceController.sharedController(
withID: matterNodeId,
xpcConnect: hmHome.matterControllerXPCConnectBlock
)
return MatterHomekitLockAccessory(hmAccessory: hmAccessory, controller: controller)
}
return HomekitLockAccessory(hmAccessory: hmAccessory)
}
the controller never gets running and I'm not able to get that controllerNodeId from it.
Here is error log