我可以发誓核心位置权限对话框的预期行为是这样的:
- 如果用户点击"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/