我的应用程序获取用户的位置,获取坐标,并提供到目的地或起点的距离。所有这些可能的目的地都显示在表格视图中,因此我在填充表格的同时获取用户坐标。唯一的问题是,询问用户位置的警报视图出现然后消失得如此之快,以至于无法单击它!
有没有办法在应用程序首次加载时手动显示此警报?我尝试在应用程序加载时获取用户位置以尝试强制显示警报,但这不起作用。
虽然很难追踪,但解决方案非常简单。
经过反复试验,我发现当您第一次尝试访问应用程序中的任何位置服务时会弹出位置访问对话框,如果CLLocationManager之前释放该对象,该对话框会自行消失(无需任何用户交互)用户响应对话框。
CLLocationManager
我正在我的方法中创建一个CLLocationManager实例。viewDidLoad由于这是该方法的本地实例,因此该实例在方法执行完成后由 ARC 释放。一旦实例被释放,对话框就消失了。解决方案相当简单。将CLLocationManager实例从方法级变量更改为类级实例变量。现在CLLocationManager实例只有在类被卸载后才会被释放。
viewDidLoad