Detect or react to Guided Access?

青春壹個敷衍的年華 提交于 2019-11-27 14:40:44

问题


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?


回答1:


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.




回答2:


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);



回答3:


Swift 4.2:

if !UIAccessibility.isGuidedAccessEnabled {
  // show something since I'm not in guided access
}


来源:https://stackoverflow.com/questions/12663481/detect-or-react-to-guided-access

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!