当用户升级到 iOS 7 时,他们必须重新授权他们的 Twitter 帐户。目前,我有一个问题,似乎是由于用户有多个帐户,其中一个或多个帐户未经验证。
当一个用户有多个账户,其中一个需要授权时,运行这个方法会给出一个带有 YES 的完成处理程序和一个 nil 错误:
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[accountStore requestAccessToAccountsWithType:accountType options:nil completion:^(BOOL granted, NSError *error) {
}];
继续前进,应用程序将无法从该帐户访问 Twitter,并导致崩溃。
阅读文档显示 ACAccount 具有 credential
属性,但是保存帐户后此属性不可访问
,因此可以' 用作指标。
ACAccountStore 确实有另一种方法:
- (void)renewCredentialsForAccount:(ACAccount *)account completion:(ACAccountStoreCredentialRenewalHandler)completionHandler
但这会强制用户在调用时更新他们的凭据,如果他们已经拥有则不理想。
我如何才能真正查明一个帐户是否需要更新其凭据,或者它是否可以访问?
最佳答案
如果用户帐户不同步,您应该更新用户帐户。如果用户更改了密码或帐户 session 已过期,则可能会发生这种情况。
使用下面的通知可以知道: ACAccountStoreDidChangeNotification
关于ios - 拥有未经授权的 Twitter 帐户的用户在使用我的应用程序时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20584432/