使用最新的facebook sdk 3.1,我使用以下命令打开请求权限的会话:
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
我的sessionStateChanged方法如下所示:
- (void)sessionStateChanged:(FBSession *)session
state:(FBSessionState)state
error:(NSError *)error
{
switch (state) {
case FBSessionStateOpen:
// handle successful login
break;
case FBSessionStateClosed:
case FBSessionStateClosedLoginFailed:
// handle failed login
break;
default:
break;
}
}
在sessionStateChanged中是否有办法区分这是否是用户登录时的第一个时间(即他们之前从未授予我们对此特定应用的许可)?
答案 0 :(得分:3)
无法知道这是用户是否第一次授权该应用程序。您最好的选择是在您自己的应用程序中跟踪他们之前是否已登录。