One Logo Pool Ball
Matter · IOS API REFERENCE

MTRDeviceController

class · iOS 16.1+ · SDK 27.1

class MTRDeviceController

Members (50)

static · iOS 16.4+

computePASEVerifier

TypeScript
static computePASEVerifier(setupPasscode: _Foundation_NSNumber, iterations: _Foundation_NSNumber, salt: ArrayBuffer): ArrayBuffer
Swift declaration
class func computePASEVerifier(forSetupPasscode setupPasscode: NSNumber, iterations: NSNumber, salt: Data) throws -> Data
static

decodeXPCReadParams

TypeScript
static decodeXPCReadParams(params?: (Record<string, unknown>) | null): (MTRReadParams) | null
Swift declaration
class func decodeXPCReadParams(_ params: [String : Any]?) -> MTRReadParams?
static

decodeXPCResponseValues

TypeScript
static decodeXPCResponseValues(values?: (Array<Record<string, unknown>>) | null): (Array<Record<string, unknown>>) | null
Swift declaration
class func decodeXPCResponseValues(_ values: [[String : Any]]?) -> [[String : Any]]?
static

decodeXPCSubscribeParams

TypeScript
static decodeXPCSubscribeParams(params?: (Record<string, unknown>) | null): (MTRSubscribeParams) | null
Swift declaration
class func decodeXPCSubscribeParams(_ params: [String : Any]?) -> MTRSubscribeParams?
static

encodeXPCReadParams

TypeScript
static encodeXPCReadParams(params: MTRReadParams): (Record<string, unknown>) | null
Swift declaration
class func encodeXPCReadParams(_ params: MTRReadParams) -> [String : Any]?
static

encodeXPCResponseValues

TypeScript
static encodeXPCResponseValues(values?: (Array<Record<string, unknown>>) | null): (Array<Record<string, unknown>>) | null
Swift declaration
class func encodeXPCResponseValues(_ values: [[String : Any]]?) -> [[String : Any]]?
static

encodeXPCSubscribeParams

TypeScript
static encodeXPCSubscribeParams(params?: (MTRSubscribeParams) | null): (Record<string, unknown>) | null
Swift declaration
class func encodeXPCSubscribeParams(_ params: MTRSubscribeParams?) -> [String : Any]?
static · iOS 16.5+

xpcInterfaceForClientProtocol

TypeScript
static xpcInterfaceForClientProtocol(): _Foundation_NSXPCInterface
Swift declaration
class func xpcInterfaceForClientProtocol() -> NSXPCInterface
static · iOS 16.5+

xpcInterfaceForServerProtocol

TypeScript
static xpcInterfaceForServerProtocol(): _Foundation_NSXPCInterface
Swift declaration
class func xpcInterfaceForServerProtocol() -> NSXPCInterface
method · iOS 18.2+

add

TypeScript
addQueue(delegate: Implements<MTRDeviceControllerDelegate> | SDKHandle, queue: _Dispatch_DispatchQueue): void
Swift declaration
func add(_ delegate: any MTRDeviceControllerDelegate, queue: dispatch_queue_t)
method · iOS 17.6+

add

TypeScript
add(endpoint: MTRServerEndpoint): boolean
Swift declaration
func add(_ endpoint: MTRServerEndpoint) -> Bool
method · iOS 16.4+

attestationChallenge

TypeScript
attestationChallenge(deviceID: _Foundation_NSNumber): (ArrayBuffer) | null
Swift declaration
func attestationChallenge(forDeviceID deviceID: NSNumber) -> Data?
method · iOS 16.4+

cancelCommissioning

TypeScript
cancelCommissioning(nodeID: _Foundation_NSNumber): void
Swift declaration
func cancelCommissioning(forNodeID nodeID: NSNumber) throws
method · iOS 16.1+ · Deprecated in iOS 16.4

commissionDevice

TypeScript
commissionDevice(deviceId: number, commissioningParams: MTRCommissioningParameters): void
Swift declaration
func commissionDevice(_ deviceId: UInt64, commissioningParams: MTRCommissioningParameters) throws
method · iOS 16.4+

commissionNode

TypeScript
commissionNode(nodeID: _Foundation_NSNumber, commissioningParams: MTRCommissioningParameters): void
Swift declaration
func commissionNode(withID nodeID: NSNumber, commissioningParams: MTRCommissioningParameters) throws
method · iOS 16.1+ · Deprecated in iOS 16.4

computePaseVerifier

TypeScript
computePaseVerifier(setupPincode: number, iterations: number, salt: ArrayBuffer): (ArrayBuffer) | null
Swift declaration
func computePaseVerifier(_ setupPincode: UInt32, iterations: UInt32, salt: Data) -> Data?
method · iOS 16.1+

continueCommissioningDevice

TypeScript
continueCommissioningDevice(opaqueDeviceHandle: SDKHandle, ignoreAttestationFailure: boolean): void
Swift declaration
func continueCommissioningDevice(_ opaqueDeviceHandle: UnsafeMutableRawPointer, ignoreAttestationFailure: Bool) throws
method · iOS 16.4+

deviceBeingCommissioned

TypeScript
deviceBeingCommissioned(nodeID: _Foundation_NSNumber): MTRBaseDevice
Swift declaration
func deviceBeingCommissioned(withNodeID nodeID: NSNumber) throws -> MTRBaseDevice
method · iOS 16.1+ · Deprecated in iOS 16.4

fetchAttestationChallenge

TypeScript
fetchAttestationChallenge(deviceId: number): (ArrayBuffer) | null
Swift declaration
func fetchAttestationChallenge(forDeviceId deviceId: UInt64) -> Data?
method · iOS 18.4+

forgetDevice

TypeScript
forgetDevice(nodeID: _Foundation_NSNumber): void
Swift declaration
func forgetDevice(withNodeID nodeID: NSNumber)
method · iOS 16.1+ · Deprecated in iOS 16.4

getBaseDevice

TypeScript
getBaseDevice(deviceID: number, queue: _Dispatch_DispatchQueue, completionHandler: ((arg0: (MTRBaseDevice) | null, arg1: (NativeError) | null) => void)): boolean
Swift declaration
func getBaseDevice(_ deviceID: UInt64, queue: dispatch_queue_t, completionHandler: @escaping MTRDeviceConnectionCallback) -> Bool
method · iOS 16.1+ · Deprecated in iOS 16.4

getDeviceBeingCommissioned

TypeScript
getDeviceBeingCommissioned(deviceId: number): MTRBaseDevice
Swift declaration
func getDeviceBeingCommissioned(_ deviceId: UInt64) throws -> MTRBaseDevice
init · iOS 17.6+

init

TypeScript
static init(parameters: MTRDeviceControllerAbstractParameters): MTRDeviceController
Swift declaration
init(parameters: MTRDeviceControllerAbstractParameters) throws
method · iOS 16.1+ · Deprecated in iOS 16.4

openPairingWindow

TypeScript
openPairingWindowDuration(deviceID: number, duration: number): void
Swift declaration
func openPairingWindow(_ deviceID: UInt64, duration: Int) throws
method · iOS 16.1+ · Deprecated in iOS 16.4

openPairingWindow

TypeScript
openPairingWindowWithPINDurationDiscriminatorSetupPIN(deviceID: number, duration: number, discriminator: number, setupPIN: number): string
Swift declaration
func openPairingWindow(withPIN deviceID: UInt64, duration: Int, discriminator: Int, setupPIN: Int) throws -> String
method · iOS 16.1+ · Deprecated in iOS 16.4

pairDevice

TypeScript
pairDeviceAddressPortSetupPINCode(deviceID: number, address: string, port: number, setupPINCode: number): void
Swift declaration
func pairDevice(_ deviceID: UInt64, address: String, port: UInt16, setupPINCode: UInt32) throws
method · iOS 16.1+ · Deprecated in iOS 16.4

pairDevice

TypeScript
pairDeviceDiscriminatorSetupPINCode(deviceID: number, discriminator: number, setupPINCode: number): void
Swift declaration
func pairDevice(_ deviceID: UInt64, discriminator: UInt16, setupPINCode: UInt32) throws
method · iOS 16.1+ · Deprecated in iOS 16.4

pairDevice

TypeScript
pairDeviceOnboardingPayload(deviceID: number, onboardingPayload: string): void
Swift declaration
func pairDevice(_ deviceID: UInt64, onboardingPayload: String) throws
method · iOS 16.4+ · Deprecated in iOS 17.6

preWarmCommissioningSession

TypeScript
preWarmCommissioningSession(): void
Swift declaration
func preWarmCommissioningSession()
method · iOS 18.2+

remove

TypeScript
remove(delegate: Implements<MTRDeviceControllerDelegate> | SDKHandle): void
Swift declaration
func remove(_ delegate: any MTRDeviceControllerDelegate)
method · iOS 17.6+

remove

TypeScript
remove38489(endpoint: MTRServerEndpoint): void
Swift declaration
func remove(_ endpoint: MTRServerEndpoint)
method · iOS 17.6+

remove

TypeScript
removeQueueCompletion(endpoint: MTRServerEndpoint, queue: _Dispatch_DispatchQueue, completion: (() => void)): void
Swift declaration
func remove(_ endpoint: MTRServerEndpoint, queue: dispatch_queue_t) async
method · iOS 18.2+

resume

TypeScript
resume(): void
Swift declaration
func resume()
method · iOS 16.4+

setDeviceControllerDelegate

TypeScript
setDeviceControllerDelegate(delegate: Implements<MTRDeviceControllerDelegate> | SDKHandle, queue: _Dispatch_DispatchQueue): void
Swift declaration
func setDeviceControllerDelegate(_ delegate: any MTRDeviceControllerDelegate, queue: dispatch_queue_t)
method · iOS 16.1+ · Deprecated in iOS 16.4

setNocChainIssuer

TypeScript
setNocChainIssuer(nocChainIssuer: SDKHandle, queue: _Dispatch_DispatchQueue): void
Swift declaration
func setNocChainIssuer(_ nocChainIssuer: any MTRNOCChainIssuer, queue: dispatch_queue_t)
method · iOS 16.1+ · Deprecated in iOS 16.4

setPairingDelegate

TypeScript
setPairingDelegate(delegate: Implements<MTRDevicePairingDelegate> | SDKHandle, queue: _Dispatch_DispatchQueue): void
Swift declaration
func setPairingDelegate(_ delegate: any MTRDevicePairingDelegate, queue: dispatch_queue_t)
method · iOS 17.0+

setupCommissioningSession

TypeScript
setupCommissioningSessionWithDiscoveredDevicePayloadNewNodeID(discoveredDevice: MTRCommissionableBrowserResult, payload: MTRSetupPayload, newNodeID: _Foundation_NSNumber): void
Swift declaration
func setupCommissioningSession(withDiscoveredDevice discoveredDevice: MTRCommissionableBrowserResult, payload: MTRSetupPayload, newNodeID: NSNumber) throws
method · iOS 16.2+

setupCommissioningSession

TypeScript
setupCommissioningSessionWithNewNodeID(payload: MTRSetupPayload, newNodeID: _Foundation_NSNumber): void
Swift declaration
func setupCommissioningSession(with payload: MTRSetupPayload, newNodeID: NSNumber) throws
method · iOS 16.1+

shutdown

TypeScript
shutdown(): void
Swift declaration
func shutdown()
method · iOS 17.0+

startBrowse

TypeScript
startBrowse(delegate: Implements<MTRCommissionableBrowserDelegate> | SDKHandle, queue: _Dispatch_DispatchQueue): boolean
Swift declaration
func startBrowse(forCommissionables delegate: any MTRCommissionableBrowserDelegate, queue: dispatch_queue_t) -> Bool
method · iOS 17.0+

stopBrowseForCommissionables

TypeScript
stopBrowseForCommissionables(): boolean
Swift declaration
func stopBrowseForCommissionables() -> Bool
method · iOS 16.1+ · Deprecated in iOS 16.4

stopDevicePairing

TypeScript
stopDevicePairing(deviceID: number): void
Swift declaration
func stopDevicePairing(_ deviceID: UInt64) throws
method · iOS 18.2+

suspend

TypeScript
suspend(): void
Swift declaration
func suspend()
get · iOS 16.4+

controllerNodeID

TypeScript
get controllerNodeID(): (_Foundation_NSNumber) | null
Swift declaration
var controllerNodeID: NSNumber? { get }
get · iOS 16.1+ · Deprecated in iOS 16.4

controllerNodeId

TypeScript
get controllerNodeId(): (_Foundation_NSNumber) | null
Swift declaration
var controllerNodeId: NSNumber? { get }
get · iOS 18.4+

devices

TypeScript
get devices(): Array<MTRDevice>
Swift declaration
var devices: [MTRDevice] { get }
get · iOS 18.4+

nodesWithStoredData

TypeScript
get nodesWithStoredData(): Array<_Foundation_NSNumber>
Swift declaration
var nodesWithStoredData: [NSNumber] { get }
get · iOS 16.1+

isRunning

TypeScript
get isRunning(): boolean
Swift declaration
var isRunning: Bool { get }
get · iOS 18.2+

isSuspended

TypeScript
get isSuspended(): boolean
Swift declaration
var isSuspended: Bool { get }
get · iOS 17.6+

uniqueIdentifier

TypeScript
get uniqueIdentifier(): string
Swift declaration
var uniqueIdentifier: UUID { get }

Skipped declarations

3 declarations were excluded from these bindings. Each reason comes from the generator or the iOS SDK compiler.

MTRDeviceController.sharedController(withID:xpcConnect:)

callback cannot propagate synchronous failure

MTRDeviceController.sharedController(withId:xpcConnect:)

callback cannot propagate synchronous failure

MTRDeviceController.init()

inherited init: cannot prove legal (class declares 1 custom initializer)

All Matter types →