<!--
{
  "availability" : [
    "iOS: 7.0.0 -",
    "iPadOS: 7.0.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIGuidedAccessRestrictionDelegate",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(pl)UIGuidedAccessRestrictionDelegate"
  },
  "title" : "UIGuidedAccessRestrictionDelegate"
}
-->

# UIGuidedAccessRestrictionDelegate

A set of methods you use to add custom restrictions for the Guided Access feature in iOS.

```
@MainActor protocol UIGuidedAccessRestrictionDelegate : NSObjectProtocol
```

## Overview

Custom restrictions are represented by string identifiers provided by the developer in the [`guidedAccessRestrictionIdentifiers`](/documentation/UIKit/UIGuidedAccessRestrictionDelegate/guidedAccessRestrictionIdentifiers) method. Each identifier represents an operation in the app that the developer wishes to allow users to restrict using Guided Access. The default for all operations is allow. Users can deny operations using the normal Guided Access user interface. See <http://support.apple.com/kb/HT5509> for a description of how to enable and configure Guided Access on iOS.

Apps describe their custom restrictions by implementing the [`textForGuidedAccessRestriction(withIdentifier:)`](/documentation/UIKit/UIGuidedAccessRestrictionDelegate/textForGuidedAccessRestriction(withIdentifier:)) and [`detailTextForGuidedAccessRestriction(withIdentifier:)`](/documentation/UIKit/UIGuidedAccessRestrictionDelegate/detailTextForGuidedAccessRestriction(withIdentifier:)) methods to return appropriate localized, human-readable strings.

For example, a photo editing app might allow users to disable deleting photos. The app would return an identifier representing this restriction in its [`guidedAccessRestrictionIdentifiers`](/documentation/UIKit/UIGuidedAccessRestrictionDelegate/guidedAccessRestrictionIdentifiers) method. It would also implement [`textForGuidedAccessRestriction(withIdentifier:)`](/documentation/UIKit/UIGuidedAccessRestrictionDelegate/textForGuidedAccessRestriction(withIdentifier:)) to provide a human-readable description of the restriction. Finally, the app would implement [`guidedAccessRestriction(withIdentifier:didChange:)`](/documentation/UIKit/UIGuidedAccessRestrictionDelegate/guidedAccessRestriction(withIdentifier:didChange:)) to notice when a user indicates that they want to enable the restriction. When the app sees the state change to “deny”, it would configure itself to prevent the deletion of photos by any means. Similarly, when the app sees the state change to “allow”, it would configure itself to allow photo deletion.

Apps can use the [`guidedAccessRestrictionState(forIdentifier:)`](/documentation/UIKit/UIAccessibility/guidedAccessRestrictionState(forIdentifier:)) function to check the state of a restriction at any time.

## Topics

### Identifying custom Guided Access restrictions

[`guidedAccessRestrictionIdentifiers`](/documentation/UIKit/UIGuidedAccessRestrictionDelegate/guidedAccessRestrictionIdentifiers)

An array of strings identifying custom restrictions.

[`textForGuidedAccessRestriction(withIdentifier:)`](/documentation/UIKit/UIGuidedAccessRestrictionDelegate/textForGuidedAccessRestriction(withIdentifier:))

Provides a succinct description of the restriction for the specified identifier.

[`detailTextForGuidedAccessRestriction(withIdentifier:)`](/documentation/UIKit/UIGuidedAccessRestrictionDelegate/detailTextForGuidedAccessRestriction(withIdentifier:))

Provides more detailed information about the restriction for the specified identifier.

### Implementing restrictions

[`guidedAccessRestriction(withIdentifier:didChange:)`](/documentation/UIKit/UIGuidedAccessRestrictionDelegate/guidedAccessRestriction(withIdentifier:didChange:))

Tells the delegate that the restriction associated with the identifier has changed state.

[`UIAccessibility.GuidedAccessRestrictionState`](/documentation/UIKit/UIAccessibility/GuidedAccessRestrictionState)

Constants that describe the state of a restriction, either allow or deny.



---

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)