Pergunta

Em um aplicativo, nós estamos criando, precisamos adicionar alguns extras telas para configurar o aplicativo.

Seria bom se pudéssemos adicionar botões extras na tela de abertura do aplicativo, que só é visível se o iPad não está no acesso guiado.

É possível detectar que o dispositivo está sendo executado com o acesso guiado, e reagir a ele está sendo ativado ou desativado?

Foi útil?

Solução

Você quer algo como isto:

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

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

Se você quer saber quando muda...

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

em seguida, verifique se ele está ligado ou desligado conforme o primeiro teste.

Outras dicas

Acesso guiado em profundidade na WWDC 2013 (começa em 39:26)


Verifique se o Guided Access está Habilitado ( o iOS 6+ ):

UIAccessibilityIsGuidedAccessEnabled()

Responder ao Acesso Guiado alterações de status ( o iOS 6+ ):

UIAccessibilityGuidedAccessStatusDidChangeNotification

Adicionar restrições aduaneiras enquanto em modo Acesso Guiado ( iOS 7+ ):

UIGuidedAccessRestrictionDelegate

Chegando a restrição estado para a restrição especificada ( 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
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top