ACAccountStore requestAccessToAccountsWithType:options:completion:accountStoreHandler立即返回grant = NO

时间:2014-07-27 23:21:58

标签: ios ios7 twitter acaccount acaccountstore

我正在尝试使用iOS的Accounts框架将Twitter集成到我的应用程序中。我打电话给:

ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *twitter = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[accountStore requestAccessToAccountsWithType:twitter
                                      options:NULL
                                   completion:accountStoreHandler];

其中accountStoreHandler是我前面定义的长C块。但是,当我运行代码时,会立即使用accountStoreHandlergranted = NO触发error = nil,甚至不要求我访问我的Twitter帐户。当我去设置和Twitter时,我看到我的应用程序无法访问Twitter(我可以看到所有其他应用程序都在那里被授予,是的,我的设备上有一个有效/正在运行的Twitter帐户)。问题是,它甚至不像我。此外,我删除并重建了我的应用程序,但它仍然没有要求我访问Twitter。我需要使用极端情况测试Twitter登录功能,但如果我从设置手动授予Twitter访问权限,我无法确保一切正常。测试初始Twitter登录功能的正确方法是什么?

为了澄清:是的,我可以手动授予设置访问权限并且可以正常工作,但我正在寻找一种方法来“模拟”刚刚安装了应用的设备,我可以不能在我的设备上复制(这是一个带有ARM库的照片应用程序,因此我无法在模拟器上进行测试。)

1 个答案:

答案 0 :(得分:1)

根据我的经验,即使我们删除了应用程序,也会存储授予的访问权限。

我建议您尝试使用模拟器中的功能,如果您想再次尝试,可以随时重置模拟器。

n.b。:我知道回答这个问题已经晚了5个月,但我希望找到这个问题的人会发现它有用:)