---
title: "cancel(reason:)"
framework: xpc
role: symbol
role_heading: Instance Method
path: "xpc/xpcsession/cancel(reason:)"
---

# cancel(reason:)

Cancels a session, discarding any unsent messages.

## Declaration

```swift
func cancel(reason: String)
```

## Parameters

- `reason`: A description that explains why cancellation occured.

## Discussion

Discussion When you cancel a session, it discards any unsent messages and invalidates its connection. If there are messages awaiting replies, the session calls the reply handlers with an appropriate XPCRichError.

## See Also

### Managing the life cycle

- [activate()](xpc/xpcsession/activate().md)
- [setIncomingMessageHandler(_:)](xpc/xpcsession/setincomingmessagehandler(_:)-2ukdh.md)
- [setIncomingMessageHandler(_:)](xpc/xpcsession/setincomingmessagehandler(_:)-5lu26.md)
- [setIncomingMessageHandler(_:)](xpc/xpcsession/setincomingmessagehandler(_:)-75ou9.md)
- [setCancellationHandler(_:)](xpc/xpcsession/setcancellationhandler(_:).md)
