我在我的iOS应用程序上使用Facebook的iOS SDK 3.7来处理登录.当我请求发布权限时,看起来过期日期是从登录之日起大约2个月.
我知道我可以使用[FBSession activeSession] .accessTokenData.expirationDate检查到期日期,但会发生什么,以及如何在令牌过期时处理令牌?
我运行[FBSession openActiveSessionWithReadPermissions:allowLoginUI:completionHandler:];再次?
解决方法
我这样做,FB自动重新创建会话.
如果FB已更改使用条款或其他内容,则会向用户显示登录对话框.
如果FB已更改使用条款或其他内容,则会向用户显示登录对话框.
// call this before any calls to FB api - (void)openSession { if(FBSession.activeSession.state != FBSessionStateOpen) { [FBSession openActiveSessionWithPublishPermissions:@[FB_PUBLISH_ACTIONS_PREMISSION] defaultAudience:FBSessionDefaultAudienceFriends allowLoginUI:NO completionHandler:^(FBSession *session,FBSessionState status,NSError *error) { if(!error && session.isOpen) { } else { _lastError = error; // handle the error } // here,you can handle the session state changes in switch case or //something else [self session:session hasChangedState:status withError:error]; }]; } }