0
我遇到了奇怪的UITableViewController问题。我正在请求viewDidLoad方法内的位置服务authroization,并且我可以看到alertbox出现。但是,此警报箱会保持几秒钟显示然后消失。这是为什么发生?如何保持位置服务请求警报框保持出现
override func viewDidLoad() {
let locationManager = CLLocationManager()
locationManager.requestAlwaysAuthorization()
}
我试过在UIViewController里加载这个UITableViewController并遇到不同的问题。这次只显示推送通知服务请求警报箱,并且位置服务请求被完全忽略。我猜是因为推送通知服务请求不是来自我,而是来自ios,并且我的位置服务请求被ios通知请求覆盖。这是我的假设是否正确或者是否存在对此行为的探索?
好点!在请求前我应该检查授权状态。但是代码属于哪里? – user30646
个人而言,我喜欢在实际需要开始使用位置服务之前检查状态。但是如果你在视图控制器的视图第一次出现的时候这样做,你显然可以使用'viewDidAppear'。 – matt
在使用服务之前,我正在询问权限。然后我想,也许我应该要求所有我需要的服务的权限,并将它们排除在外。 – user30646