如果locationServicesEnabled返回false,则提示用户启用其定位服务。以下网址适用于10.0+版本,可将用户重定向到“设置”应用,然后直接重定向到“位置服务”屏幕:
URL(字符串:“ App-Prefs:root = Privacy&path = LOCATION”)
但是,这在iOS 11中不起作用。它会打开“设置”应用程序,但不会深入到“定位服务”。谁知道iOS 11+的新URL是什么?
答案 0 :(得分:2)
Apple发布了this link中明确允许的URL列表。不幸的是,如果您使用其他URL(例如您尝试使用的URL),则会使您的应用程序被App Store拒绝。
简短的回答:您不能在不违反App Store规则的情况下做自己想做的事情。
答案 1 :(得分:1)
使用此-
UIApplication.shared.open(URL(string:UIApplicationOpenSettingsURLString)!)
使用App-prefs可能会导致应用商店中的应用被拒绝。
或者您也可以尝试此操作-
if let bundleId = Bundle.main.bundleIdentifier,
let url = URL(string: "\(UIApplication.openSettingsURLString)&path=LOCATION/\(bundleId)") {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}