ACAccountStore
使用and时,有什么方法可以判断您的 facebook 令牌何时到期ACAccount
?
我创建了一个ACAccountStore
,访问用户的 facebook 帐户,将该帐户存储在一个ACAccount
对象中,并且能够从凭据中检索令牌。不过,我也想知道这个令牌什么时候到期。我将如何着手取消此令牌的到期?或者甚至有可能吗?
为什么你想知道它什么时候到期?
当你获得一个令牌时,在 Facebook 的例子中,它的令牌生命周期就会延长。我认为今天是额外的 60 天。因此,当您从帐户商店获得它时,应该很好。
如果用户正在使用您的应用程序,然后决定撤销 Facebook 设置本身的权限,您应该关注的唯一细节。
在这种情况下,您需要确保您正在监视ACAccountStoreDidChangeNotification
通知并renewCredentialsForAccount:completion:
适当地调用以再次请求权限,请参阅文档。
例如:
- (void)accountChanged:(NSNotification *)note
{
[self.accountStore renewCredentialsForAccount:(ACAccount *)self.facebookAccount completion:^(ACAccountCredentialRenewResult renewResult, NSError *error){
if(!error)
{
switch (renewResult) {
case ACAccountCredentialRenewResultRenewed:
// Good
break;
case ACAccountCredentialRenewResultRejected:
// Maybe go back to non logged in status
break;
case ACAccountCredentialRenewResultFailed:
// Maybe internet failed, Facebook is down?
break;
default:
break;
}
}
else{
// Handle error gracefully
}
}];
}
也许本教程可能对您有所帮助。