【发布时间】:2011-11-18 10:07:21
【问题描述】:
我的 iPhone 应用程序使用定位服务。当我第一次安装并运行它时,它会显示一个对话框,询问用户是否想暂时允许使用定位服务并立即消失。这种情况会连续发生几次。
这是一个已知的错误还是我做错了什么?
【问题讨论】:
-
你能发布一些使用位置管理器的代码吗?
标签: iphone xcode cocoa-touch core-location
我的 iPhone 应用程序使用定位服务。当我第一次安装并运行它时,它会显示一个对话框,询问用户是否想暂时允许使用定位服务并立即消失。这种情况会连续发生几次。
这是一个已知的错误还是我做错了什么?
【问题讨论】:
标签: iphone xcode cocoa-touch core-location
这听起来像是操作系统要求您批准该应用使用位置服务。我不知道有任何悬而未决的问题会阻止它按照您描述的方式关闭和重新打开。据我所知,您对此没有任何控制权,当您的应用触发基于位置的方法(例如 -startUpdatingLocation 或 -startMonitoringForRegion)时,它会自动出现。
您可能有另一个冲突视图,它试图从操作系统警报中窃取视图,但没有任何代码,很难说。希望这会有所帮助。
【讨论】:
我刚才在我的应用程序中遇到了同样的问题,我会将其添加为任何在谷歌上搜索该问题并遇到这个老问题的人的答案。
问题是,如果您在本地实例化 CLLocationManager 并要求它更新其位置,则请求权限的窗口在弹出后立即消失。
你必须让 CLLocationManager 成为一个属性(或者至少你不应该在本地实例化它),然后它才能工作。
【讨论】: