ios - 拥有未经授权的 Twitter 帐户的用户在使用我的应用程序时遇到问题

标签 ios objective-c twitter acaccount acaccountstore

当用户升级到 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/

相关文章:

ios - UITableView 数据源必须从 tableView :cellForRowAtIndexPath 返回单元格

objective-c - 删除 leftBarButtonItem 背景

ios - Objective-C,委托(delegate)为适配器模式 : who is the adaptee?

ios - 异步调用中的推特分享错误

带有 SLRequest 的 iOS 转发返回错误的 URL 错误

ios - SoundCloud cocoa 包装器无法在没有帐户的情况下访问资源

ios - UIPageViewController 与 WKWebView

ios - iPhone应用程序后台下载

twitter - 使用 Twitter 用户 ID 构建 Twitter 个人资料图像 url

ios - 如何使用 GLKView 以较低的分辨率进行绘制?