【发布时间】:2017-06-28 00:24:42
【问题描述】:
我是 ios 新手,但有以下问题。
应用启动时,用户应接受位置权限。这工作正常。如果他不允许,某些功能将无法使用。
但是,我希望当用户尝试使用这些功能时,他会收到一条警告,指出他没有接受位置许可。这个我也做过。但是我希望警报有一个按钮,可以让他现在接受它(这样他就不必进入手机上的设置来执行此操作)这是我无法做到的。
我为这样的警报创建了一个处理程序,但接受权限不起作用。 这是处理程序...
func someHandler(alert: UIAlertAction!) {
print("User now wants to let location from new")
self.locationManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
locationManager.startUpdatingLocation()
}
}
这是错的,我还应该说什么。目前,当调用处理程序时,位置服务没有打开。
谢谢
【问题讨论】:
-
你为什么要同时申请两个授权?只问你需要的那个。
-
您为什么要同时请求这两个位置权限?即始终和WhenInUse。您只需要请求其中之一。 WhenInUse:每当应用程序处于前台时获取位置,而 Always 适应前台和后台。
-
对,解决了这个问题,并编辑了我的问题。
标签: ios swift cllocationmanager