只要我第一次安装并启动我的应用程序,它立即要求提供位置服务,即使尚未调用startUpdatingLocation。我还没有在这一点上分配一个CLLocationManager实例。在我实际拨打电话后,我希望这个提示可以懒惰地完成,这样用户就不会盲目地关闭电话。这个流程最近是否随iOS变化?我记得它曾经被懒惰地问过。我正在使用5.1固件。懒洋洋地询问位置服务
回答
这很有趣。我测试了你的假设,位置管理器甚至没有被分配,但iOS位置权限对话框出现了。我尝试了以下故障排除。在每一步之后,我都会在设备上运行该项目,并且只能在最后一步显示位置弹出窗口。
- 开始一个新的应用程序
- 需要的info.plist
- 需要的info.plist
- 链接CoreLocation GPS到项目
- 导入核心定位为标题
- 让地理位置服务并为位置管理器合成属性
- 请求CLLocationManager for + authorizationStatus
- 请求CLLocationManager for + locationServicesEnabled
- alloc init CLLocationManager实例
- 告诉CLLocationManager开始更新位置。
只有最后一步提示提示。 为了确保我甚至创建了一个viewController,它推送了一个初始化CLLocationManager并开始更新位置的第二个视图控制器。当第二个视图控制器被按下时,权限弹出窗口才出现。这是所有在5.1上运行的最新Xcode。
我已经证明位置服务仍然只是在您尝试打开位置的时刻才会要求获得许可,就像它在以前的SDK中所做的一样。也许检查你的代码,也许在这里粘贴一些,这样我们可以进入更多的细节。 :)
我会试试这个,只是为了确保。我所有的位置处理都是通过一个单例完成的,所以我只需要在整个应用程序中调用startUpdatingLocation。我有一个断点,它永远不会被调用。我能想到的唯一的另一种可能性是,无论出于何种原因,其中一个依赖框架正在引发这种情况。我的项目很大,所以重新创建项目文件将会是一件痛苦的事情。此外,自iOS 3.0以来,我一直在使用和升级项目文件。 – 2012-04-14 05:53:10
您是否使用广告网络或遥测框架?前往断点侧边栏,单击底部的加号,在符号框中键入' - [CLLocationManager startUpdatingLocation]',它应该在整个项目和库中断开startUpdatingLocation。也许值得聆听'-startMonitoringSignificantLocationChanges' – jackslash 2012-04-14 13:52:07
谢谢你,这是一个很好的窍门!这是因为我在启动时在后台分配(不显示)MKMapView以供以后显示。 – 2012-04-14 17:34:16
- 1. 懒洋洋地生成powerset
- 2. 懒洋洋地创建流
- 3. 懒洋洋地创建独立存储
- 4. 懒洋洋地创建发电机
- 5. 懒洋洋地评价MySQL视图
- 6. 的Perl,评估串懒洋洋地
- 7. 在clojure懒洋洋地构建套装
- 8. Dropwizard未能懒洋洋地初始化一个角色集合
- 9. 如何在WPF中懒洋洋地创建UI元素?
- 10. Clojure懒洋洋地从文件中读取随机行
- 11. 未能懒洋洋地初始化一个角色集合
- 12. 懒洋洋地从大文件中提取行
- 13. Hibernate可以懒洋洋地创建关联的实体吗?
- 14. DDD - 从其他环境中懒洋洋地获取信息
- 15. 红宝石 - 懒洋洋地评估的哈希
- 16. 懒洋洋地在Core Data中实例化关系?
- 17. Boost Phoenix(或Boost Lambda) - 懒洋洋地拿一个指针
- 18. 未能懒洋洋地初始化集合
- 19. 如何使PDO(pdo_pgsql)懒洋洋地读取行
- 20. getDeclaringClass原因无法懒洋洋地初始化例外
- 21. 功能NHibernate - “未能懒洋洋地初始化集合” - 查询一个集合
- 22. 这是否可以用mongoengine(python)懒洋洋地查询数据库?
- 23. net.sf.json.JSONException:org.hibernate.LazyInitializationException:无法初始化懒洋洋角色的集合
- 24. 调用过滤器,找到(排列方式)懒洋洋地对所有iterables
- 25. Spring boot + jersey api + JPA:未能懒洋洋地初始化角色集合
- 26. 懒洋洋地评估矢量的所有元素都是真的?
- 27. Grails的Hibernate的Session麻烦 - 无法懒洋洋地初始化集合
- 28. 在懒洋洋地定义常量一个Rails初始化程序
- 29. 正确的方式在Neo4j的懒洋洋地加载节点与Java API
- 30. 懒洋洋地使用实例在DI的iOS(台风与异议)
你说的对话框(应用程序***想要使用...),显示第一次用户启动你的应用程序? – 2012-04-13 07:40:17
确实,它在5.1中出于某种原因这样做。 – ssteinberg 2012-04-13 10:14:24
@rokjarc是的那是一个。 – 2012-04-13 17:55:24