---
title: "updateAuthorization(for:descriptor:completionHandler:)"
framework: accessorysetupkit
role: symbol
role_heading: Instance Method
path: "accessorysetupkit/asaccessorysession/updateauthorization(for:descriptor:completionhandler:)"
---

# updateAuthorization(for:descriptor:completionHandler:)

Displays a view to upgrade an accessory with additional technology permissions.

## Declaration

```swift
func updateAuthorization(for accessory: ASAccessory, descriptor: ASDiscoveryDescriptor, completionHandler: @escaping @Sendable ((any Error)?) -> Void)
```

```swift
func updateAuthorization(for accessory: ASAccessory, descriptor: ASDiscoveryDescriptor) async throws
```

## Parameters

- `accessory`: The accessory to update.
- `descriptor`: An updated descriptor that the picker uses to add new technology authorization for the provided accessory.
- `completionHandler`: A block or closure that executes after the picker is shown. The completion handler receives an doc://com.apple.documentation/documentation/Foundation/NSError instance if the upgrade operation encounters an error. In Swift, you can omit the completion handler by calling the method asynchronously and catching any error thrown by the method.

## Discussion

Discussion Call this method to upgrade previously-added SSID-based accessories to use WiFi Aware.

## See Also

### Managing authorization

- [finishAuthorization(for:settings:completionHandler:)](accessorysetupkit/asaccessorysession/finishauthorization(for:settings:completionhandler:).md)
- [ASAccessorySettings](accessorysetupkit/asaccessorysettings.md)
- [failAuthorization(for:completionHandler:)](accessorysetupkit/asaccessorysession/failauthorization(for:completionhandler:).md)
