我的应用程序获取用户位置,获取坐标,并提供往返目的地或出发地的距离。所有这些可能的目的地都显示在表格视图中,因此我在填充表格的同时获取用户坐标。唯一的问题是,询问用户位置的警报视图出现然后消失得如此之快,以至于无法单击它!
有什么方法可以在应用程序首次加载时手动显示此警报吗?我尝试在应用程序加载时获取用户位置,以尝试强制显示警报,但这不起作用。
虽然很难追踪,但解决方案非常简单。
经过多次试验和错误,我发现,虽然当您第一次尝试访问应用程序中的任何位置服务时会弹出位置访问对话框,但如果出现以下情况,该对话框会自行消失(无需任何用户交互):CLLocationManager
对象在用户响应对话框之前被释放。
我正在创建一个CLLocationManager
实例在我的viewDidLoad
方法。由于这是该方法的本地实例,因此该实例在该方法执行完成后由 ARC 释放。一旦实例被释放,对话框就消失了。解决方案相当简单。改变CLLocationManager
实例从方法级变量变为类级实例变量。现在CLLocationManager
仅当类被卸载后,实例才会被释放。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)