我希望我的定制应用程序能够打开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:]}
我是不是漏了什么?
UIApplicationOpenSettingSurlString
是打开内置Settings.app的唯一支持方式。任何其他方法都是一个黑客,并且会因为私有API的使用而面临审查被拒绝的风险。
参见例如,使用app-prefs:root是否被认为是私有API?