Пользователи с неавторизованными учетными записями Twitter, имеющие проблемы с моим приложением
Когда пользователи обновились до iOS 7, им пришлось повторно авторизовать свои учетные записи в Twitter. В настоящее время у меня есть проблема, которая возникает из-за того, что у пользователя несколько учетных записей, одна или несколько из которых не подтверждены.
Когда у пользователя есть несколько учетных записей, и одна требует авторизации, запуск этого метода даст обработчик завершения с YES и нулевой ошибкой:
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[accountStore requestAccessToAccountsWithType:accountType options:nil completion:^(BOOL granted, NSError *error) {
}];
Продолжая, приложение не сможет получить доступ к Twitter с этой учетной записи, что приведет к сбою.
Чтение документации показывает, что ACAccount имеет credential
собственность, но это this property is inaccessible after the account is saved
, так что это не может быть использовано в качестве индикатора.
ACAccountStore имеет другой метод:
- (void)renewCredentialsForAccount:(ACAccount *)account completion:(ACAccountStoreCredentialRenewalHandler)completionHandler
Но это заставляет пользователя обновлять свои учетные данные, когда он вызывается, что не идеально, если они уже есть.
Как я могу узнать, требует ли учетная запись обновить свои учетные данные или она доступна?
1 ответ
Вы должны обновить учетную запись пользователя, только если она не синхронизирована. Это может произойти, если пользователь изменил свой пароль или когда сеанс учетной записи истек.
Вы можете знать, что с помощью следующего уведомления: ACAccountStoreDidChangeNotification