---
title: "finishWriting(completionHandler:)"
framework: avfoundation
role: symbol
role_heading: Instance Method
path: "avfoundation/avassetwriter/finishwriting(completionhandler:)"
---

# finishWriting(completionHandler:)

Marks all unfinished inputs as finished and completes the writing of the output file.

## Declaration

```swift
func finishWriting(completionHandler handler: @escaping @Sendable () -> Void)
```

```swift
func finishWriting() async
```

## Parameters

- `handler`: A completion handler the system invokes when it finishes writing. Determine the success or failure of the writing session by querying the asset writer’s doc://com.apple.avfoundation/documentation/AVFoundation/AVAssetWriter/status-swift.property property value.

## Discussion

Discussion To ensure the asset writer finishes writing all samples, call this method only after all calls to append(_:) or append(_:withPresentationTime:) return.

## See Also

### Managing writing sessions

- [start()](avfoundation/avassetwriter/start().md)
- [startWriting()](avfoundation/avassetwriter/startwriting().md)
- [startSession(atSourceTime:)](avfoundation/avassetwriter/startsession(atsourcetime:).md)
- [endSession(atSourceTime:)](avfoundation/avassetwriter/endsession(atsourcetime:).md)
- [cancelWriting()](avfoundation/avassetwriter/cancelwriting().md)
- [finishWriting()](avfoundation/avassetwriter/finishwriting().md)
