---
title: invalidate()
framework: watchkit
role: symbol
role_heading: Instance Method
path: watchkit/wkextendedruntimesession/invalidate()
---

# invalidate()

Stops the session.

## Declaration

```swift
func invalidate()
```

## Mentioned in

Using extended runtime sessions

## Discussion

Discussion This method stops a running session. If you’ve scheduled a session, it cancels the session. If the session isn’t yet running or scheduled, this method triggers a WKExtendedRuntimeSessionErrorCode.notYetStarted error. For sessions started with start(at:), you can only call invalidate() when the app is active. For all other sessions, you can call invalidate() to end a session at any time. After calling invalidate(), you can no longer run the session. Create and start a new session instead.

## See Also

### Managing the Session State

- [start()](watchkit/wkextendedruntimesession/start().md)
- [start(at:)](watchkit/wkextendedruntimesession/start(at:).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)
