我使用最新的 Facebook SDK (3.1.1)。
我在我的 AppDelegate
中编写了一个函数来检查当前 session 并根据状态创建或打开 session 。
第二个条件始终返回NO
并显示登录屏幕。
没看懂
AppDelegate 方法:
if (facebook.isOpen == NO)
{
facebook = [[FBSession alloc] initWithPermissions:permission];
if (facebook.state == FBSessionStateCreatedTokenLoaded)
{
[facebook openWithCompletionHandler:^(FBSession *session,FBSessionState status,NSError *error)
{
// load user details
}];
}
else
{
// show login screen
}
}
最佳答案
FbSession 类中有一个属性访问 token 。
使用该字符串来检查登录状态。
如果您在该字符串中得到 null,则表示您的 session 已过期,但如果您在其中得到一些值,则表示您仍在应用程序中登录,您可以做任何您想做的事情。
问候
阿布舍克·戈亚尔
关于objective-c - Facebook SessionState 始终不是 FBSessionStateCreatedTokenLoaded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14109190/