Contents

init(machService:targetQueue:options:cancellationHandler:)

Establishes a connection to a launch agent or launch daemon with the name you specify.

Declaration

@preconcurrency convenience init(machService: String, targetQueue: DispatchQueue? = nil, options: XPCSession.InitializationOptions = .none, cancellationHandler: (@Sendable (XPCRichError) -> Void)? = nil) throws

Parameters

  • machService:

    The name of the Mach service to connect to. The service name must exist in the Mach bootstrap accessible to the process and advertised in a launchd.plist.

  • targetQueue:

    The dispatch queue to use for session events. You can specify a concurrent dispatch queue. If you specify Nil 227m0, the session uses DISPATCH_TARGET_QUEUE_DEFAULT.

  • options:

    Attributes the session uses when establishing the connection.

  • cancellationHandler:

    A closure the system calls when it cancels a session.

Discussion

If the service isn’t found or is unavailable, the connection fails and this method throws an error.

By default, this method activates the session it creates and the session is ready to accept messages. To create an inactive session, specify inactive in the options parameter.

See Also

Creating a session