题
在我们创建的应用中,我们需要添加一些额外的屏幕来配置应用程序。
如果我们可以在应用程序的开放屏幕上添加额外的按钮,那将是很好的,只有在iPad不在引导访问权限中,才能看到。
是否可以检测到设备当前正在使用引导访问运行,并对其启用或禁用响应?
解决方案
你想要这样的东西:
NSLog(@"Accessabilitiy enabled: %@", UIAccessibilityIsGuidedAccessEnabled() ? @"YES" : @"NO");
if (!UIAccessibilityIsGuidedAccessEnabled()) {
// show something since I'm not in guided access
}
.
如果您想在改变时知道...
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(guidedAccessChanged) name:UIAccessibilityGuidedAccessStatusDidChangeNotification object:nil];
.
然后按照第一个测试检查它是否打开或关闭。 其他提示
在WWDC 2013 开始的深度进入(从39开始: 26)
检查是否引导了引导访问(iOS 6+):< / p>
UIAccessibilityIsGuidedAccessEnabled()
.
响应引导访问状态更改(ios 6+) :
UIAccessibilityGuidedAccessStatusDidChangeNotification
.
在引导访问模式中添加自定义限制(ios 7+):< / p>
UIGuidedAccessRestrictionDelegate
.
获得指定限制的限制状态(ios 7+):
swift:
func UIGuidedAccessRestrictionStateForIdentifier(_ restrictionIdentifier: String) -> UIGuidedAccessRestrictionState
.
obj-c
UIGuidedAccessRestrictionState UIGuidedAccessRestrictionStateForIdentifier(NSString *restrictionIdentifier);
. swift 4.2:
if !UIAccessibility.isGuidedAccessEnabled {
// show something since I'm not in guided access
}
. 不隶属于 StackOverflow