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

# PermissionQuestion

A class that captures a permission question posed by a person.

```
final class PermissionQuestion<Topic> where Topic : QuestionTopic
```

## Topics

### Creating permission requests

[`convenience init(handle: CommunicationHandle)`](/documentation/PermissionKit/PermissionQuestion/init(handle:))

Creates a permission question that asks parents or guardians for permission to communicate with a person.

[`convenience init(handles: [CommunicationHandle])`](/documentation/PermissionKit/PermissionQuestion/init(handles:))

Creates a permission question that asks parents or guardians for permission to communicate with multiple people.

[`convenience init(communicationTopic: Topic)`](/documentation/PermissionKit/PermissionQuestion/init(communicationTopic:))

Creates a permission question that asks parents or guardians for communication permission.

[`convenience init(significantAppUpdateTopic: Topic)`](/documentation/PermissionKit/PermissionQuestion/init(significantAppUpdateTopic:))

Creates a permission question that asks parents or guardians for permission to continue using your app after a significant update.

### Working with choices

[`var choices: [PermissionChoice]`](/documentation/PermissionKit/PermissionQuestion/choices)

The possible answer choices associated with this question.

[`var defaultChoice: PermissionChoice`](/documentation/PermissionKit/PermissionQuestion/defaultChoice)

The default answer choice associated with the question.

### Accessing properties

[`let id: UUID`](/documentation/PermissionKit/PermissionQuestion/id)

A unique identifier for the question.

[`let topic: Topic`](/documentation/PermissionKit/PermissionQuestion/topic)

A topic that can be used to interpret a person’s request.

[`var expirationDate: Date?`](/documentation/PermissionKit/PermissionQuestion/expirationDate)

The date that this question expires, if any.

## Relationships

### Conforms To

[`Encodable`](/documentation/Swift/Encodable)

[`Decodable`](/documentation/Swift/Decodable)

[`Identifiable`](/documentation/Swift/Identifiable)

---

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)