---
title: WKExtendedRuntimeSession
framework: watchkit
role: symbol
role_heading: Class
path: watchkit/wkextendedruntimesession
---

# WKExtendedRuntimeSession

A session that continues to run your app after the user has stopped interacting.

## Declaration

```swift
class WKExtendedRuntimeSession
```

## Mentioned in

Using extended runtime sessions Using background tasks

## Overview

Overview With extended runtime sessions, your app continues to run after the user stops interacting with it. The app can continue to communicate with Bluetooth devices, process data, or play sounds or haptics, even after the watch’s screen turns off. Each app can support a single type of extended runtime session: self care, mindfulness, physical therapy, or smart alarm. Select the session by enabling the appropriate Background Modes capability. For more information, see Using extended runtime sessions.

## Topics

### Creating a Session

- [delegate](watchkit/wkextendedruntimesession/delegate.md)
- [WKExtendedRuntimeSessionDelegate](watchkit/wkextendedruntimesessiondelegate.md)

### Managing the Session State

- [start()](watchkit/wkextendedruntimesession/start().md)
- [start(at:)](watchkit/wkextendedruntimesession/start(at:).md)
- [invalidate()](watchkit/wkextendedruntimesession/invalidate().md)
- [state](watchkit/wkextendedruntimesession/state.md)
- [WKExtendedRuntimeSessionState](watchkit/wkextendedruntimesessionstate.md)
- [expirationDate](watchkit/wkextendedruntimesession/expirationdate.md)
- [requestAutoLaunchAuthorizationStatus(completion:)](watchkit/wkextendedruntimesession/requestautolaunchauthorizationstatus(completion:).md)
- [WKExtendedRuntimeSessionAutoLaunchAuthorizationStatus](watchkit/wkextendedruntimesessionautolaunchauthorizationstatus.md)

### Alerting the User

- [notifyUser(hapticType:repeatHandler:)](watchkit/wkextendedruntimesession/notifyuser(haptictype:repeathandler:).md)

### Handling Errors

- [WKExtendedRuntimeSessionErrorCode](watchkit/wkextendedruntimesessionerrorcode.md)
- [WKExtendedRuntimeSessionErrorDomain](watchkit/wkextendedruntimesessionerrordomain.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Runtime management

- [Background execution](watchkit/background-execution.md)
- [Life cycles](watchkit/life-cycles.md)
- [Using extended runtime sessions](watchkit/using-extended-runtime-sessions.md)
- [Interacting with Bluetooth peripherals during background app refresh](watchkit/interacting-with-bluetooth-peripherals-during-background-app-refresh.md)
