【问题标题】:iOS : Open my App Specific Location SettingsiOS:打开我的应用特定位置设置
【发布时间】:2017-08-23 17:44:11
【问题描述】:
我需要打开我的 iOS 应用特定位置设置。我知道我们可以通过以下方式打开常规位置设置:
[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@"prefs:root=LOCATION_SERVICES"]];*
我有两个问题:
上述内容是否有效且符合 Apple 指南(或者)我们是否应该只打开设置应用程序并允许用户更改设置?
我的要求是打开我的应用程序的特定位置设置 - 显示“始终”、“使用应用程序时”、“从不”的设置,以便用户进行修改。这可能吗
提前致谢。
【问题讨论】:
标签:
ios
objective-c
geolocation
cllocationmanager
【解决方案1】:
对于 Swift 3 及更高版本:
此外,代码还会检查 ios 版本并为所有版本执行这项工作。
if let url = URL(string: UIApplicationOpenSettingsURLString){
if #available(iOS 10.0, *){
UIApplication.shared.open(url, completionHandler: nil)
print("\n--- in ios 10 ")
} else{
UIApplication.shared.openURL(url)
print("\n--- in ios other than 10 ")
}
}
UIApplicationOpenSettingsURLString : 基本上打开你的应用程序的设置,它还显示应用程序正在使用的所有服务,包括位置服务、移动数据、照片库等......
现在将 Cocoa Keys 添加到您的应用程序中,即在 plist 文件中
这里有一些网址
Cocoa keys for iOS 10, Cocoa Keys from developer.apple
【解决方案2】:
这会将用户带到应用程序特定的设置屏幕,其中列出了应用程序请求的位置、相机、通知和任何其他权限,供用户切换。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
希望这会有所帮助。