在我问这个问题之前我试过:
- 使用
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Privacy&path=LOCATION"]];
它在 iOS8 和 iOS9 上工作正常,但在 iOS10 上没有任何反应. - 使用
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
它在iOS8和iOS9上也能正常工作。但是,在iOS10上,当应用程序跳转到系统设置时,系统设置立即退出。 - 使用
[[UIApplication sharedApplication]openURL:url options:@{}completionHandler:nil];
在iOS8和iOS9上崩溃,在iOS10上立即退出。
问题是我们的app在iOS10上可以跳转到系统设置吗?如果是。如何?对于 [[UIApplication sharedApplication]openURL:url options:@{}completionHandler:nil];
options
是什么意思?我们必须为选项
?
最佳答案
一段时间以来,应用程序只被允许在设置应用程序中打开自己的设置面板。过去有各种可用的设置 URL,但最近 Apple 拒绝使用这些 URL 的应用。
您可以打开自己的应用程序设置:
if let url = URL(string:UIApplicationOpenSettingsURLString) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
或者在 Objective-C 中
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if (url != nil) {
[[UIApplication sharedApplication] openURL:url options:[NSDictionary new] completionHandler:nil];
}
如果您的目标是 iOS 10 之前的版本,那么您可能更愿意使用旧的、已弃用但仍然可用的方法:
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
if (url != nil) {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
[[UIApplication sharedApplication] openURL:url];
#pragma clang diagnostic pop
}
关于ios - iOS10如何跳转到系统设置位置服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39940219/