- (void)authTwitter {
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[accountStore requestAccessToAccountsWithType:accountType
options:nil
completion:^(BOOL granted, NSError *error){
if (granted) {
NSArray *accounts = [accountStore accountsWithAccountType:accountType];
// always there, but accounts array is empty
} else {
}
}];
我原本希望看到来自iOS的一些提示,但总是肯定是。 我的iPhone上没有帐户设置。
这是否意味着我编程太多时间应该出去?或者我只是错过了什么?
iOS 7,设备和模拟器都有相同的行为。
答案 0 :(得分:1)
你已经在那里了。完成块应为:
{
bool actuallyGranted = granted;
NSArray *accounts = [accountStore accountsWithAccountType:accountType];
if (!accounts || ([accounts count] == 0))
actuallyGranted = false;
if (actuallyGranted)
{
}
else
{
}
}
对FB的类似调用不需要这个 - "授予"会是对的。我假设twitter所需的特殊情况是iOS错误。