Twitter SSO总是被授予

时间:2014-04-18 18:38:43

标签: ios twitter account

- (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,设备和模拟器都有相同的行为。

1 个答案:

答案 0 :(得分:1)

你已经在那里了。完成块应为:

   {
   bool actuallyGranted = granted;

   NSArray *accounts = [accountStore accountsWithAccountType:accountType];
   if (!accounts || ([accounts count] == 0))
      actuallyGranted = false;

   if (actuallyGranted) 
      {

      }

   else
      {

      }
   }

对FB的类似调用不需要这个 - "授予"会是对的。我假设twitter所需的特殊情况是iOS错误。