<!--
{
  "availability" : [
    "iOS: 26.2.0 -",
    "iPadOS: 26.2.0 -",
    "macCatalyst: 26.2.0 -",
    "macOS: 26.2.0 -",
    "visionOS: 26.2.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PermissionKit",
  "identifier" : "/documentation/PermissionKit/AskCenter",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "PermissionKit"
    ],
    "preciseIdentifier" : "s:13PermissionKit9AskCenterC"
  },
  "title" : "AskCenter"
}
-->

# AskCenter

A class that manages permission requests you send to parents or guardians for approval.

```
final class AskCenter
```

## Overview

Use `AskCenter` to send permission questions to parents or guardians when a person needs approval for app
communication permissions or significant updates. The system routes your questions through the appropriate family sharing channels
and delivers responses back to your app when parents make their decisions.

Access the shared instance to send permission requests and register for response notifications. The system handles
the underlying communication with parents and manages the approval workflow automatically.

## Topics

### Getting the shared instance

[`static let shared: AskCenter`](/documentation/PermissionKit/AskCenter/shared)

The shared instance you use to send permission requests and receive responses.

### Making permission requests

[`func ask(PermissionQuestion<SignificantAppUpdateTopic>, in: NSWindow) async throws`](/documentation/PermissionKit/AskCenter/ask(_:in:)-39vi7)

Tells the system to request that the person send the communication permission question to the person’s parent or guardian.

[`func ask(PermissionQuestion<CommunicationTopic>, in: NSWindow) async throws`](/documentation/PermissionKit/AskCenter/ask(_:in:)-3znb6)

Tells the system to request that the person send the communication permission question to the person’s parent or guardian.

[`func ask(PermissionQuestion<CommunicationTopic>, in: UIViewController) async throws`](/documentation/PermissionKit/AskCenter/ask(_:in:)-6xupo)

Tells the system to request that a person send the communication permission question to the person’s parent or guardian.

[`func ask(PermissionQuestion<SignificantAppUpdateTopic>, in: UIViewController) async throws`](/documentation/PermissionKit/AskCenter/ask(_:in:)-8ks48)

Tells the system to request that a person send the the significant app update permission question to their parent or guardian.

### Receiving responses

[`func responses<Topic>(for: Topic.Type) -> some AsyncSequence<PermissionResponse<Topic>, Never>`](/documentation/PermissionKit/AskCenter/responses(for:))

Registers the topic type with the system and returns an asynchronous sequence of responses.

### Instance Methods

[`func askSignificantChangePermission(for: PermissionQuestion<SignificantAppUpdateTopic>, permissionFlow: PermissionFlow, in: NSWindow) async throws -> PermissionResult`](/documentation/PermissionKit/AskCenter/askSignificantChangePermission(for:permissionFlow:in:)-85gmn)

Tells the system to request that the user send the significant app update permission question to the
user’s parent/s and/or guardian/s using the specified permission flow. Throws an error if the system
was unable to request the user to send the question.

[`func askSignificantChangePermission(for: PermissionQuestion<SignificantAppUpdateTopic>, permissionFlow: PermissionFlow, in: UIViewController) async throws -> PermissionResult`](/documentation/PermissionKit/AskCenter/askSignificantChangePermission(for:permissionFlow:in:)-nm9w)

Requests that a child send the significant app update permission question to their parent or guardian using the specified permission flow.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)