---
title: XPCListener
framework: xpc
role: symbol
role_heading: Class
path: xpc/xpclistener
---

# XPCListener

A type that performs tasks for clients across process boundaries.

## Declaration

```swift
class XPCListener
```

## Mentioned in

Creating XPC services

## Overview

Overview To implement an XPC service, create a listener and respond to incoming session requests.

## Topics

### Creating a listener

- [init(service:targetQueue:options:incomingSessionHandler:)](xpc/xpclistener/init(service:targetqueue:options:incomingsessionhandler:).md)
- [XPCListener.InitializationOptions](xpc/xpclistener/initializationoptions.md)
- [XPCListener.IncomingSessionRequest](xpc/xpclistener/incomingsessionrequest.md)

### Managing the life cycle

- [activate()](xpc/xpclistener/activate().md)
- [cancel()](xpc/xpclistener/cancel().md)

### Handling incoming messages

- [XPCPeerHandler](xpc/xpcpeerhandler.md)

### Initializers

- [init(service:targetQueue:options:requirement:incomingSessionHandler:)](xpc/xpclistener/init(service:targetqueue:options:requirement:incomingsessionhandler:).md)
- [init(targetQueue:options:incomingSessionHandler:)](xpc/xpclistener/init(targetqueue:options:incomingsessionhandler:).md)

### Instance Properties

- [endpoint](xpc/xpclistener/endpoint.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [Escapable](swift/escapable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Interprocess communication

- [Creating XPC services](xpc/creating-xpc-services.md)
- [XPCSession](xpc/xpcsession.md)
- [XPCReceivedMessage](xpc/xpcreceivedmessage.md)
- [xpc_listener_t](xpc/xpc_listener_t.md)
- [xpc_session_t](xpc/xpc_session_t-10if0.md)
