我使用此代码重定向到该位置的iOS设置:
NSURL *url = [NSURL URLWithString:@"App-Prefs:root=LOCATION_SERVICES"];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
}
但它只是重定向到设置而不是位置或蓝牙设置。有人知道是否有任何方法可以重定向到iOS位置设置?
谢谢
答案 0 :(得分:2)
将url
声明为:
NSURL *url = [NSURL URLWithString:@"App-Prefs:root=LOCATION_SERVICES"];
因此:
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL: url];
}
注意:强>
上述方法适用于iOS 10.x及更低版本(您可以查看:How to programmatically open the WIFI settings in Objective-C on iOS 10)。但是,Apple支持“app-prefs”URL方案不! prefs URL被视为私有API,唯一记录的首选URL是UIApplicationOpenSettingsURLString
。显然,与使用的编程语言无关;相关:
粗略地说,你无法在iOS 11上进行这样的导航。
答案 1 :(得分:0)
您可以使用UIApplicationOpenSettingsURLString。如果您的应用程序使用位置数据或蓝牙,您将在那里看到位置和蓝牙设置。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
答案 2 :(得分:0)