The NSXPCListener class and its delegate are responsible for waiting for new incoming connections, configuring them, and accepting or rejecting them.


Each XPC service, launchd agent, or launchd daemon typically has at least one NSXPCListener object that listens for connections to a specified service name. Each listener must have a delegate that conforms to the NSXPCListener​Delegate protocol. When the listener receives a new connection request, it creates a new NSXPCConnection object, then asks the delegate to inspect, configure, and resume the connection object by calling the delegate's listener(_:​should​Accept​New​Connection:​) method.



init(mach​Service​Name:​ String)

Initializes a listener in a LaunchAgent or LaunchDaemon which has a name advertised in a launchd.plist file.

Instance Properties

var delegate:​ NSXPCListener​Delegate?

The delegate for the listener.

var endpoint:​ NSXPCListener​Endpoint

Returns an endpoint object that may be sent over an existing connection.

Instance Methods

func invalidate()

Invalidates the listener.

func resume()

Starts processing of incoming requests.

func suspend()

Suspends the listener.

Type Methods

class func anonymous()

Returns a new anonymous listener connection.

class func service()

Returns the singleton listener used to listen for incoming connections in an XPC service.


Inherits From