---
title: AVContentKeySessionDelegate
framework: avfoundation
role: symbol
role_heading: Protocol
path: avfoundation/avcontentkeysessiondelegate
---

# AVContentKeySessionDelegate

A protocol that handles content key requests.

## Declaration

```swift
protocol AVContentKeySessionDelegate : NSObjectProtocol, Sendable
```

## Topics

### Providing new content key requests

- [contentKeySession(_:didProvide:)](avfoundation/avcontentkeysessiondelegate/contentkeysession(_:didprovide:)-3coq5.md)
- [contentKeySession(_:didProvideRenewingContentKeyRequest:)](avfoundation/avcontentkeysessiondelegate/contentkeysession(_:didproviderenewingcontentkeyrequest:).md)
- [contentKeySession(_:didProvide:)](avfoundation/avcontentkeysessiondelegate/contentkeysession(_:didprovide:)-2wdgz.md)

### Updating and retrying content key requests

- [contentKeySession(_:didProvide:forInitializationData:)](avfoundation/avcontentkeysessiondelegate/contentkeysession(_:didprovide:forinitializationdata:).md)
- [contentKeySession(_:externalProtectionStatusDidChangeFor:)](avfoundation/avcontentkeysessiondelegate/contentkeysession(_:externalprotectionstatusdidchangefor:).md)
- [contentKeySession(_:didUpdatePersistableContentKey:forContentKeyIdentifier:)](avfoundation/avcontentkeysessiondelegate/contentkeysession(_:didupdatepersistablecontentkey:forcontentkeyidentifier:).md)
- [contentKeySession(_:shouldRetry:reason:)](avfoundation/avcontentkeysessiondelegate/contentkeysession(_:shouldretry:reason:).md)
- [AVContentKeyRequest.RetryReason](avfoundation/avcontentkeyrequest/retryreason.md)
- [contentKeySessionContentProtectionSessionIdentifierDidChange(_:)](avfoundation/avcontentkeysessiondelegate/contentkeysessioncontentprotectionsessionidentifierdidchange(_:).md)
- [contentKeySession(_:contentKeyRequest:didFailWithError:)](avfoundation/avcontentkeysessiondelegate/contentkeysession(_:contentkeyrequest:didfailwitherror:).md)
- [contentKeySession(_:contentKeyRequestDidSucceed:)](avfoundation/avcontentkeysessiondelegate/contentkeysession(_:contentkeyrequestdidsucceed:).md)
- [contentKeySessionDidGenerateExpiredSessionReport(_:)](avfoundation/avcontentkeysessiondelegate/contentkeysessiondidgenerateexpiredsessionreport(_:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### FairPlay streaming

- [AVContentKeySession](avfoundation/avcontentkeysession.md)
- [AVContentKey](avfoundation/avcontentkey.md)
- [AVContentKeySpecifier](avfoundation/avcontentkeyspecifier.md)
- [AVContentKeyRequest](avfoundation/avcontentkeyrequest.md)
- [AVPersistableContentKeyRequest](avfoundation/avpersistablecontentkeyrequest.md)
- [AVContentKeyResponse](avfoundation/avcontentkeyresponse.md)
- [AVExternalContentProtectionStatus](avfoundation/avexternalcontentprotectionstatus.md)
- [AVSampleBufferAttachContentKey(_:_:_:)](avfoundation/avsamplebufferattachcontentkey(_:_:_:).md)
