我可以发誓核心位置权限对话框的预期行为是这样的:
如果用户单击“是”,则不会再次显示 如果用户单击“否”,则在下次应用程序启动时再次显示该时间。 如果用户第二次单击“否”,则不会再次显示。我实际看到的是以下内容:
用户必须连续两次单击“是”才能记住该首选项 无论用户点击“否”多少次,都不会记住该偏好我是想象一下第一个预期的行为,还是最近在某个时候改变了?
更重要的是,我们对此有何控制水平? 是否由我来记住用户说“不”,并停止询问?
这在任何地方记录?
I could have sworn that the expected behavior for the core location permission dialog is something like this:
if the user clicks "Yes", it will not be shown again if the user clicks "No", it is shown one more time, the next time the app launches. If the user clicks "No" a second time, it will not be shown again.What I'm actually seeing is the following:
the user has to click "Yes" twice in a row for that preference to be remembered no matter how many times the user clicks "No", that preference is not rememberedDid I just imagine the first expected behavior, or did it change at some point recently?
More to the point, what level of control do we have over this? Is it up to me to remember that the user said "No", and stop asking?
Is this documented anywhere?
最满意答案
我的回忆是用户在停止询问之前总是必须单击“是”两次。
我目前唯一能找到的文档是LocateMe示例代码,特别是MyCLController类。 在locationManager:didFailWithError:方法中,他们声称
连续两次发布应用程序时“不允许”与说“永不允许”相同。 用户可以通过转至设置>常规>重置>重置位置警告重置所有应用程序。
似乎行为已经改变,即使你点击“否”,它仍会继续询问许可,尽管我不确定这是什么时候发生的。 我不相信我们需要记住这一点,但它不会太难,因为如果单击“否”,则返回错误代码kCLErrorDenied 。
My recollection is that the user always had to click "Yes" twice before it stopped asking.
The only documentation I can find at the moment is the LocateMe sample code, specifically the MyCLController class. In the locationManager:didFailWithError: method, they claim that
"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.
It seems that the behavior has changed such that it continues to ask permission even if you click "No", although I'm not sure when that happened. I don't believe that we need to remember this, but it wouldn't be too hard, since an error code of kCLErrorDenied is returned if they click "No".
更多推荐
发布评论