---
title: "getTestDiagnosisKeys(completionHandler:)"
framework: exposurenotification
role: symbol
role_heading: Instance Method
path: "exposurenotification/enmanager/gettestdiagnosiskeys(completionhandler:)"
---

# getTestDiagnosisKeys(completionHandler:)

Requests the temporary exposure keys, including the current key, used by this device for testing.

## Declaration

```swift
func getTestDiagnosisKeys(completionHandler: @escaping @Sendable ([ENTemporaryExposureKey]?, (any Error)?) -> Void)
```

```swift
func testDiagnosisKeys() async throws -> [ENTemporaryExposureKey]
```

## Parameters

- `completionHandler`: The completion handler that the framework calls when the method completes.

## 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 testDiagnosisKeys() async throws -> [ENTemporaryExposureKey] For information about concurrency and asynchronous code in Swift, see Calling Objective-C APIs Asynchronously. important: This method is available in iOS 12.5, and in iOS 13.5 and later. Every time this method is called, the framework will request the user to authorize the action. warning: This method is only for developers while testing, and requires a special entitlement that is not allowed in the App Store. It’s only intended for testing without needing to wait 24 hours for a key to be released.

## See Also

### Obtaining Exposure Keys

- [getDiagnosisKeys(completionHandler:)](exposurenotification/enmanager/getdiagnosiskeys(completionhandler:).md)
- [ENTemporaryExposureKey](exposurenotification/entemporaryexposurekey.md)
