提问者:小点点

如何打开Objective C(iOS)中的安装语音设置页


我希望我的定制应用程序能够打开iOS原生设置页面,特别是安装新的声音到您的设备的设置。

我如何在目标C中做到这一点?

我看到您可以使用UIApplicationOpenSettingsURLString打开设置,但我需要转到用户当前语言的特定安装语音设置页面,该页面如下所示:

此页面位于:设置->辅助功能->口语内容->语音->(您的语言)

进入语音页面,用户必须选择语言也可以。

我想我可以尝试使用open()objective C函数来打开一个自定义URI方案,但是我需要知道我到底需要哪个URI方案。

编辑:这是我当前正在尝试的操作:

    NSString *voiceSettings = @"prefs:root=ACCESSIBILITY&path=SPEECH_TITLE#QuickSpeakAccents";
    NSString *cleanQuery = [voiceSettings stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString: [NSString stringWithFormat:cleanQuery]] options:@{} completionHandler:nil];

但是,它失败的原因是:

Failed to open URL prefs:root=ACCESSIBILITY&path=SPEECH_TITLE#QuickSpeakAccents: Error Domain=NSOSStatusErrorDomain Code=-10814 "(null)" UserInfo={_LSLine=229, _LSFunction=-[_LSDOpenClient openURL:options:completionHandler:]}

我是不是漏了什么?


共1个答案

匿名用户

UIApplicationOpenSettingSurlString是打开内置Settings.app的唯一支持方式。任何其他方法都是一个黑客,并且会因为私有API的使用而面临审查被拒绝的风险。

参见例如,使用app-prefs:root是否被认为是私有API?