---
title: WKDownloadDelegate
framework: webkit
role: symbol
role_heading: Protocol
path: webkit/wkdownloaddelegate
---

# WKDownloadDelegate

A protocol you implement to track download progress and handle redirects, authentication challenges, and failures.

## Declaration

```swift
@MainActor protocol WKDownloadDelegate : NSObjectProtocol
```

## Topics

### Tracking Download Progress

- [download(_:decideDestinationUsing:suggestedFilename:completionHandler:)](webkit/wkdownloaddelegate/download(_:decidedestinationusing:suggestedfilename:completionhandler:).md)
- [downloadDidFinish(_:)](webkit/wkdownloaddelegate/downloaddidfinish(_:).md)
- [download(_:didFailWithError:resumeData:)](webkit/wkdownloaddelegate/download(_:didfailwitherror:resumedata:).md)

### Responding to Authorization Challenges

- [download(_:didReceive:completionHandler:)](webkit/wkdownloaddelegate/download(_:didreceive:completionhandler:).md)
- [WKDownload.RedirectPolicy](webkit/wkdownload/redirectpolicy.md)

### Responding to Redirects

- [download(_:willPerformHTTPRedirection:newRequest:decisionHandler:)](webkit/wkdownloaddelegate/download(_:willperformhttpredirection:newrequest:decisionhandler:).md)
- [WKDownload.RedirectPolicy](webkit/wkdownload/redirectpolicy.md)

### Instance Methods

- [download(_:decidePlaceholderPolicy:)](webkit/wkdownloaddelegate/download(_:decideplaceholderpolicy:).md)
- [download(_:didReceiveFinalURL:)](webkit/wkdownloaddelegate/download(_:didreceivefinalurl:).md)
- [download(_:didReceivePlaceholderURL:completionHandler:)](webkit/wkdownloaddelegate/download(_:didreceiveplaceholderurl:completionhandler:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Downloads

- [WKDownload](webkit/wkdownload.md)
