2012-09-30 15 views
15

In un'app che stiamo creando, dobbiamo aggiungere alcune schermate aggiuntive per configurare l'app.Rileva o reagisce all'accesso guidato?

Sarebbe bello poter aggiungere pulsanti aggiuntivi nella schermata di apertura dell'app, che è visibile solo se l'iPad non è in accesso guidato.

È possibile rilevare che il dispositivo è attualmente in esecuzione con accesso guidato e reagire in modo che sia abilitato o disabilitato?

risposta

28

Volete qualcosa di simile:

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

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

Se vuoi sapere quando cambia ...

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

poi controllare per vedere se è acceso o spento come per il primo test .

+0

I avere trie d questo e il suo ritorno sempre falso ... qualche idea? – Tom

+3

Funziona solo quando attivi l'accesso guidato, cioè quando l'utente tocca tre volte il pulsante Home e lo avvia - Non quando è impostato nelle impostazioni di accessibilità. – TerryB

2

Guided Access in depth at WWDC 2013 (inizia alle 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); 
Problemi correlati