Как определить разницу между приложением, не имеющим доступа к Twitter, и приложением Twitter, у которого нет аккаунтов?

Я понимаю, как запросить доступ к Twitter, используя:

requestAccessToAccountsWithType:withCompletionHandler:

Но появляется диалоговое окно, если приложение не авторизовано. Как я могу молча проверить, авторизовано ли приложение?

Я могу проверить количество аккаунтов, используя:

 NSArray *twitterAccounts = [store accountsWithAccountType:twitterAccountType];

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

Для уточнения мне нужно сказать разницу между следующими случаями:

  1. Пользователь не предоставил приложению разрешение на использование Twitter.
  2. Пользователь дал разрешение, но не настроил учетные записи Twitter.

Существует также TWTweetComposeViewController canSendTweet который вернет истину, если приложение авторизовано И есть хотя бы одна настройка учетной записи. Однако, опять же, это не дает мне возможности определить разницу между этими двумя случаями, если он возвращает ложь.

1 ответ

Решение

Похоже, что есть свойство accessGranted каждого типа учетной записи, которое вы можете проверить, чтобы узнать, авторизованы ли вы его использовать: http://developer.apple.com/library/ios/#DOCUMENTATION/Accounts/Reference/ACAccountTypeClassRef/Reference /Reference.html#//apple_ref/doc/uid/TP40011022

Поэтому я бы проверил это, чтобы проверить, авторизованы ли вы в первую очередь, и если да, то потяните список учетных записей в Твиттере и посмотрите, есть ли что-нибудь в массиве.

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