2009-10-27 94 views
4

我可以发誓,对于核心位置的权限对话框预期的行为是这样的:核心位置不断要求许可

  • 在用户点击了“是”,就不会再
  • 所示
  • 如果用户点击“否”,则会在下一次应用启动时再显示一次。如果用户第二次点击“否”,则不会再显示。

什么我实际上看到的是以下几点:

  • 用户在连续点击“是”两次为优先要记住
  • 无论多少次的用户点击“否”,该首选项不被记住

难道我只是想象第一个预期的行为,或者最近在某个时候是否发生了变化?

更重要的是,我们对此有何等级的控制?是否记住用户说“不”,然后停止询问?

这是否记录在任何地方?

回答

4

我的回忆是,用户在停止询问之前总是必须点击“是”两次。

我现在可以找到的唯一文档是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