描述
应用程序不要求用户访问位置和获取状态notDetermined
的权限完美地工作到iOS-10
var locationManager : CLLocationManager!
func getLocationDetails()
{
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestAlwaysAuthorization()
locationManager.allowsBackgroundLocationUpdates = true
locationManager.startUpdatingLocation()
}
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus)
{
if status == CLAuthorizationStatus.authorizedAlways || status == CLAuthorizationStatus.authorizedWhenInUse
{
locationManager.startUpdatingLocation()
}
}
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
{
}
背景模式
答案 0 :(得分:12)
我已经浏览了Apple文档并找到了解决此问题的方法。
Apple已经改变了一些指导方针来获取用户位置。
以下是视频链接:Apple- What's New in Location Technologies
Full code for location access in Swift & Objective-C both
<强>解决方案:强>
现在我们需要在Plist中添加三个身份验证密钥:
答案 1 :(得分:1)
请同时询问其他许可“何时使用许可”并在plist上添加两项权限。
答案 2 :(得分:0)
我已在info.plist
文件中添加键以询问权限,但是在删除应用并再次打开后,模拟器无法显示允许用户选择一个选项的警报。
我可以在删除应用后再次显示提醒,然后打开settings
应用,最后再次安装应用。
希望它可以帮助某人。
答案 3 :(得分:-2)
请将requestAlwaysAuthorization
更改为whenInUseAuthentication
。然后它将开始工作。我想这可能是由于GM Seed / Beta版的xcode。在稳定版本中,我们可能没有这个问题。