iphone - Core Location 不断请求许可

标签 iphone core-location

我可以发誓核心位置权限对话框的预期行为是这样的:

  • 如果用户点击"is",则不会再次显示
  • 如果用户单击“否”,则下次应用启动时会再次显示。如果用户第二次单击“否”,则不会再次显示。

我实际看到的是以下内容:

  • 用户必须连续单击"is"两次才能记住该首选项
  • 无论用户点击“否”多少次,都不会记住该偏好

我只是想象了第一个预期的行为,还是最近某个时刻发生了变化?

更重要的是,我们对此有什么程度的控制?我是否应该记住用户说“否”并停止询问?

这是否记录在任何地方?

最佳答案

我记得用户总是必须单击"is"两次才能停止询问。

目前我能找到的唯一文档是 LocateMe 示例代码,特别是 MyCLController 类。在 locationManager:didFailWithError: 方法中,他们声称

"Don't Allow" on two successive app launches is the same as saying "never allow". The user can reset this for all apps by going to Settings > General > Reset > Reset Location Warnings.

行为似乎已发生变化,即使您单击“否”,它也会继续请求许可,尽管我不确定这种情况何时发生。我不认为我们需要记住这一点,但这不会太难,因为如果他们单击“否”,则会返回 kCLErrorDenied 错误代码。

关于iphone - Core Location 不断请求许可,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1631733/

相关文章:

javascript - 输入后滚动Phonegap iOS

iphone - 如何在 iPhone sdk 的 MFMailComposer 中创建并附加 CSV 文件?

iphone - 从 iPhone 上的线性 PCM 中提取幅度数据

ios - 位置管理器给出空坐标

iphone - 如何将字符串值显示到 UITableView?

iphone - 如何检测用户是否直接单击 cell.imageView 而不是 tableview 单元格中的标签?

ios - CLVisit 是如何工作的?

ios - iOS找到平均速度

ios 9 应用程序不在后台报告位置

ios - 在准备 Segue 中实例化的变量在 ViewDidLoad 中具有 nil 属性