ACAccountStore возвращает пустой массив на устройстве, но работает на симуляторе

Я работаю над приложением, которое я хочу опубликовать в Twitter, используя SLRequest, Я заставил его работать на симуляторе, но он не работает на моем устройстве.

 [self.accountStor accountsWithAccountType:accountTypeTwitter];

Возвращает пустой массив на моем устройстве, но он показывает правильные учетные записи на симуляторе. Я понятия не имею, почему это происходит.

У меня есть метод, в котором я получаю учетные записи пользователей Twitter. Это выглядит так:

- (void)fetchTwitterAccounts
{
    if (self.accountStore == nil) {
        self.accountStore = [[ACAccountStore alloc] init];
    }

    ACAccountType *accountTypeTwitter = [self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
    self.twitterAccounts = [self.accountStore accountsWithAccountType:accountTypeTwitter];
    [self.tableView reloadData];
}

Есть идеи, почему я не получаю учетные записи на моем устройстве?

1 ответ

Решение

У вас есть учетные записи Twitter, и приложение имеет право использовать их на вашем устройстве? Вы вызываете requestAccessToAccountsWithType прежде чем пытаться получить список аккаунтов?

В приведенном ниже примере показано, как список учетных записей извлекается при первом запросе доступа и только если он предоставлен пользователем, который извлекает список учетных записей.

https://dev.twitter.com/docs/ios/making-api-requests-slrequest (в частности строки 32-42).

Другие вопросы по тегам