---
title: "stop(completionHandler:)"
framework: corehaptics
role: symbol
role_heading: Instance Method
path: "corehaptics/chhapticengine/stop(completionhandler:)"
---

# stop(completionHandler:)

Asynchronously stops the haptic engine and executes the completion handler once the engine has stopped.

## Declaration

```swift
func stop(completionHandler: (@Sendable ((any Error)?) -> Void)? = nil)
```

```swift
func stop() async throws
```

## Parameters

- `completionHandler`: The completion handler to execute after the engine stops.

## Mentioned in

Preparing your app to play haptics

## Discussion

Discussion important: You can call this method from synchronous code using a completion handler, as shown on this page, or you can call it as an asynchronous method that has the following declaration: func stop() async throws For information about concurrency and asynchronous code in Swift, see Calling Objective-C APIs Asynchronously.

## See Also

### Starting and Stopping the Haptic Engine

- [start()](corehaptics/chhapticengine/start().md)
- [start(completionHandler:)](corehaptics/chhapticengine/start(completionhandler:).md)
- [CHHapticEngine.CompletionHandler](corehaptics/chhapticengine/completionhandler.md)
