Как определить разницу между приложением, не имеющим доступа к Twitter, и приложением Twitter, у которого нет аккаунтов?
Я понимаю, как запросить доступ к Twitter, используя:
requestAccessToAccountsWithType:withCompletionHandler
:
Но появляется диалоговое окно, если приложение не авторизовано. Как я могу молча проверить, авторизовано ли приложение?
Я могу проверить количество аккаунтов, используя:
NSArray *twitterAccounts = [store accountsWithAccountType:twitterAccountType];
Но я верну пустой массив, если приложение не авторизовано И если нет доступных учетных записей. Я не вижу способа выяснить, какой из них имеет место.
Для уточнения мне нужно сказать разницу между следующими случаями:
- Пользователь не предоставил приложению разрешение на использование Twitter.
- Пользователь дал разрешение, но не настроил учетные записи Twitter.
Существует также TWTweetComposeViewController canSendTweet
который вернет истину, если приложение авторизовано И есть хотя бы одна настройка учетной записи. Однако, опять же, это не дает мне возможности определить разницу между этими двумя случаями, если он возвращает ложь.
1 ответ
Похоже, что есть свойство accessGranted каждого типа учетной записи, которое вы можете проверить, чтобы узнать, авторизованы ли вы его использовать: http://developer.apple.com/library/ios/#DOCUMENTATION/Accounts/Reference/ACAccountTypeClassRef/Reference /Reference.html#//apple_ref/doc/uid/TP40011022
Поэтому я бы проверил это, чтобы проверить, авторизованы ли вы в первую очередь, и если да, то потяните список учетных записей в Твиттере и посмотрите, есть ли что-нибудь в массиве.