如何在iOS 10中以编程方式打开键盘的设置屏幕?
此代码在iOS 10中无效
NSURL *keyboardSettingsURL = [NSURL URLWithString: @"prefs:root=General&path=Keyboard/KEYBOARDS"];
[[UIApplication sharedApplication] openURL:keyboardSettingsURL];
并添加了URL Scheme
答案 0 :(得分:5)
看起来iOS 10已禁用此功能。我相信https://developer.apple.com/library/content/qa/qa1924/_index.html不再有效。我检查了几个顶级键盘应用程序,它们已更新为不再具有指向首选项的直接链接,或者具有非工作按钮。
答案 1 :(得分:2)
适用于iOS 10 +
NSURL *keboardURL = [NSURL URLWithString: @"App-Prefs:root=General&path=Keyboard/KEYBOARDS"];
[[UIApplication sharedApplication] openURL:keyboardURL];
关键点:
@ “的App-偏好设置:根=通用及安培;路径=键盘/键盘”
答案 2 :(得分:0)
如果您尚未添加URL方案,则可能需要将其添加到项目中。可以在Apple Q&A Reference找到说明和更多详细信息。希望这有帮助!
答案 3 :(得分:0)
在iOS 10中,需要一个新的URL。尝试使用此代码测试两个网址:
NSArray* urlStrings = @[@"prefs:root=General&path=Keyboard/KEYBOARDS", @"App-Prefs:root=General&path=Keyboard/KEYBOARDS"];
for(NSString* urlString in urlStrings){
NSURL* url = [NSURL URLWithString:urlString];
if([[UIApplication sharedApplication] canOpenURL:url]){
[[UIApplication sharedApplication] openURL:url];
break;
}
}
答案 4 :(得分:0)
For IOS-10 or higher,openURL is deprecated. use with completion handler like below.
NSString *settingsUrl= @"App-Prefs:root=General&path=Keyboard";
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0){
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:settingsUrl]]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:settingsUrl] options:@{} completionHandler:nil];
}
}