Detect or react to Guided Access?
Asked Answered
T

3

18

In an app we're creating, we need to add some extra screens to configure the app.

It would be nice if we could add extra buttons on the opening screen of the app, that is only visible if the iPad is not in guided access.

Is it possible to detect that the device is currently running with guided access, and react to it being enabled or disabled?

Tilth answered 30/9, 2012 at 17:42 Comment(0)
W
33

You want something like this:

NSLog(@"Accessabilitiy enabled: %@", UIAccessibilityIsGuidedAccessEnabled() ? @"YES" : @"NO");

if (!UIAccessibilityIsGuidedAccessEnabled()) {
   // show something since I'm not in guided access
}

If you want to know when it changes...

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(guidedAccessChanged) name:UIAccessibilityGuidedAccessStatusDidChangeNotification object:nil];

then check to see if it is on or off as per the first test.

Weinstein answered 26/11, 2012 at 23:46 Comment(2)
I have tried this and its always returning false... any ideas?Erratum
This only works when you activate guided access, i.e. when the user triple taps the home button and starts it - Not when it is set up in the accessibility settings.Weinstein
S
5

Guided Access in depth at WWDC 2013 (begins at 39:26)


Check if Guided Access is Enabled ( iOS 6+ ):

UIAccessibilityIsGuidedAccessEnabled()

Respond to Guided Access status changes ( iOS 6+ ):

UIAccessibilityGuidedAccessStatusDidChangeNotification

Add custom restrictions while in Guided Access mode ( iOS 7+ ):

UIGuidedAccessRestrictionDelegate

Getting the restriction state for specified restriction ( iOS 7+ ):

Swift:

func UIGuidedAccessRestrictionStateForIdentifier(_ restrictionIdentifier: String) -> UIGuidedAccessRestrictionState

Obj-C

UIGuidedAccessRestrictionState UIGuidedAccessRestrictionStateForIdentifier(NSString *restrictionIdentifier);
Sterigma answered 8/2, 2017 at 21:31 Comment(0)
T
2

Swift 4.2:

if !UIAccessibility.isGuidedAccessEnabled {
  // show something since I'm not in guided access
}
Thibodeau answered 27/10, 2018 at 12:55 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.