Swift CLLocationManager:如何通过再次弹出授权对话框将状态从"Don't Allow"更改为"Allow"
Swift CLLocationManager: How to change status from "Don't Allow" to "Allow" by popping up Authorization Dialog again
CLLocationManager requestWhenInUseAuthorization
授权对话框只工作一次。
如何通过再次弹出相同的授权对话框将状态从 "Don't Allow" 更改为 "Allow"。
我不相信,如果用户拒绝您的应用访问他们的位置,您必须指示他们在他们的设置中打开它。
所以,正如您已经知道的那样,您可以检查 authorizationStatus
。一旦您检查到用户已拒绝您访问,您始终可以使用自定义警报(对话框)告诉用户,he/she 需要允许您的应用程序使用位置。一个很好的方法是添加警报选项,将他导航到您的应用程序的设置,正如您所发现的,您可以通过以下方式做到这一点:UIApplicationOpenSettingsURLString
.
关于这个主题的一个很好的教程是:http://nshipster.com/core-location-in-ios-8/
此外,我建议您花点时间看看 Apple 文档站点(这总能帮助我了解全局):https://developer.apple.com/documentation/corelocation/cllocationmanager
CLLocationManager requestWhenInUseAuthorization
授权对话框只工作一次。
如何通过再次弹出相同的授权对话框将状态从 "Don't Allow" 更改为 "Allow"。
我不相信,如果用户拒绝您的应用访问他们的位置,您必须指示他们在他们的设置中打开它。
所以,正如您已经知道的那样,您可以检查 authorizationStatus
。一旦您检查到用户已拒绝您访问,您始终可以使用自定义警报(对话框)告诉用户,he/she 需要允许您的应用程序使用位置。一个很好的方法是添加警报选项,将他导航到您的应用程序的设置,正如您所发现的,您可以通过以下方式做到这一点:UIApplicationOpenSettingsURLString
.
关于这个主题的一个很好的教程是:http://nshipster.com/core-location-in-ios-8/
此外,我建议您花点时间看看 Apple 文档站点(这总能帮助我了解全局):https://developer.apple.com/documentation/corelocation/cllocationmanager