Recentemente, descobri o incrível esquema de URL de configurações personalizadas do iOS5 , que pode ser explicado em detalhes neste ótimo site .
Descobri que isso funciona, direcionando o usuário para o aplicativo Configurações do meu aplicativo:
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"prefs:root=General"]];
Mas não consigo rotear diretamente para o caminho de restrições por meio do path
parâmetro:
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"prefs:root=General&path=Restrictions"]];
Alguém encontrou documentação sobre isso ou conseguiu fazer isso funcionar?
Qualquer visão seria muito apreciada. Estou tentando fazer com que o usuário habilite a compra no aplicativo e prefiro que o usuário não clique manualmente em Restrições (o que não é muito óbvio).
ios
iphone
settings
url-scheme
uiapplication
kturner
fonte
fonte
Respostas:
COMO A RESPOSTA DE @Nix Wang , ISSO NÃO É FUNCIONADO NO IOS 10
AVISO: este método não funcionará para dispositivos que executam iOS 5.1 e superior - consulte o comentário de Hlung abaixo.
É possível que o
path
componente tenha um nome diferente do da seção real, mas também é possível que você não possa acessar essa seção diretamente de um URL. Encontrei uma lista de URLs possíveis e as Restrições não estão nela, talvez ainda não tenha sido descoberta.Lista de URLs atualmente conhecidos no aplicativo Configurações:
fonte
[NSURL URLWithString:UIApplicationOpenSettingsURLString]
No iOS8, você pode abrir o aplicativo de configurações integrado com:
A string de URL real é
@"app-settings:"
. Eu tentei anexar diferentes seções à string ("Bluetooth", "GENERAL", etc.), mas parece que apenas o link para a tela principal de Configurações funciona. Poste uma resposta se você descobrir o contrário.fonte
Se você adicionar o esquema de URL prefs ao seu aplicativo iOS, isso permitirá que você use todos os esquemas que poderíamos no iOS 5. Eu testei no iOS 9, mas acho que funcionará em versões mais antigas também.
fonte
Atualizar:
prefs:
NÃO funcionará desde iOS 10.fonte
prefs:
não funcione mais, o seguinte funciona (pelo menos na abertura geral):App-Prefs::root=Settings&path=General
Sim, vi isso (e muito mais), até mesmo implementei em um aplicativo de teste. Realmente preciso obter a palavra definitiva da Apple, mas a opinião consensual da comunidade é que a Apple desaprovou isso no 5.1 depois que foi publicamente "descoberto / publicado", então aplicativos que o contenham não serão aceitos.
01/08/12 Atualização: Perguntei à Apple por meio de minha conta de desenvolvedor se há uma maneira de iniciar programaticamente a caixa de diálogo Configurações de WiFi. Aqui está a resposta:
fonte
No iOS 9 funciona de novo!
Para abrir Ajustes> Geral> Teclado , eu uso:
Além disso, é possível ir mais longe para Teclados :
fonte
LSApplicationQueriesSchemes
nosinfo.plist
?Eu queria abrir o menu Bluetooth no aplicativo Configurações e o caminho acima (prefs: root = General & path = Bluetooth) não funcionou para mim. O que acabou funcionando para mim foi
Certifique-se de ter o
prefs
esquema de URL definido primeiro.fonte
prefs
coisas.Solução para iOS10. Funciona bem.
fonte
A partir do iOS10, você pode usar
para abrir as configurações gerais.
também você pode adicionar urls conhecidos (você pode vê-los na resposta mais votada) para abrir configurações específicas. Por exemplo, o seguinte abre o touchID e a senha.
fonte
App-Prefs
é uma API privada que levará à rejeição do aplicativo durante a revisão.Aqui está outra coisa que encontrei:
Depois de definir o Esquema de URL "prefs", "prefs: root = Safari & path = ContentBlockers" está funcionando no Simulador (iOS 9.1 em inglês ), mas não no Simulador (chinês simplificado) . Basta ir para o Safari, mas não para os bloqueadores de conteúdo. Se seu aplicativo for internacional, tome cuidado.
Update: Não sei por que, agora não posso mais pular para ContentBlockers, o mesmo código, a mesma versão, não funciona agora. :(
Em dispositivos reais (o meu é o iPhone 6S e o iPad mini 2), "Safari" deve ser "SAFARI" , "Safari" não funciona no dispositivo real, "SAFARI" agora funciona no simulador:
Até o momento, não foram encontradas diferenças entre o iPhone e o iPad.
fonte
Funciona bem para configurações de notificação de aplicativo no IOS 10 (testado)
fonte
iOS 10
Usar
app-prefs:
Veja a essência
fonte
Estou atualizando uma notícia aqui. Usar apenas 'prefs:' NÃO é rejeitado pela Apple, eu testei e verifiquei a aprovação para a app store (em agosto de 2016). THX.
fonte
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=DO_NOT_DISTURB"]];
para abrir a configuração DND do dispositivo. A Apple vai rejeitar isso?