ACAccountStore requestAccessToAccountsWithType:options:completion 总是显示权限提示

ACAccountStore requestAccessToAccountsWithType:options:completion always showing permissions prompt

如标题所示,我对 ACAccountStore requestAccessToAccountsWithType:options:completion 方法有疑问。我希望此方法仅在第一次为我的应用程序调用时提示用户许可,但它 每次 显示一次。

有没有什么方法可以检查用户是否已授予权限,这样我就不必请求了?或者是否有其他魔法可以阻止这种行为?

我觉得这很奇怪,因为在同一应用程序的早期版本中,行为符合我的预期——它只在第一次调用时提示权限。

回答我自己的问题。希望有一天有人会发现这很有用。

问题的原因似乎是我的应用可用的权限(尤其是基本读取权限)与我请求的权限不匹配。虽然我的应用程序的 Facebook 页面显示 'email' 作为基本读取权限,但它正在请求 'basic_info'。在我将权限更改为 'email' 后,应用程序询问了一次,但没有再次询问。