accountTypeWithAccountTypeIdentifier 在 iOS 5 下为 Twitter 返回 n



我在使用Twitter访问的一种方法时遇到了问题。 更具体地说,该方法:

- (ACAccountType *)accountTypeWithAccountTypeIdentifier:(NSString *)typeIdentifier

此方法在iOS 6下正常工作,但在iOS 5下返回nil。 文档中没有指示何时会出现此类行为,也没有任何迹象表明此方法在 iOS 5 下不受支持。

我的代码片段:

- (void)preferredAccountWithSelectionHandler:(SSTwitterHelperAccountSelectionHandler)selectionHandler
{   
    ACAccountType* accountType = [self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
    [self.accountStore requestAccessToAccountsWithType:accountType options:nil completion:^(BOOL granted, NSError *error)
    {
         // Some more code
     }];
}

直观地,我认为即使没有配置帐户,此方法也不应该返回 nil,因为它只返回帐户类型,该类型在同一类型的所有帐户之间共享。

我将

回答我自己的问题。 我刚刚添加了一个 IF 条件,以防它返回 nil,这似乎是一个有效的结果。

- (void)preferredAccountWithSelectionHandler:(SSTwitterHelperAccountSelectionHandler)selectionHandler
{   
    ACAccountType* accountType = [self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
    if (accountType)
    {
        [self.accountStore requestAccessToAccountsWithType:accountType options:nil completion:^(BOOL granted, NSError *error)
        {
             // Some more code
         }];
    }
    else
    {
        // No accounts for the type specified
    }
}

相关内容

  • 没有找到相关文章

最新更新