1

我有 2 ViewControllers

  • 第一个 ViewController 我有一个登录 facebook 的按钮,工作正常,给我会话打开状态
  • 第二个 ViewController 我有一些按钮(菜单),在这里,我想显示照片 facebook 个人资料。

我对 FacebookSDK 3.2 和 iOS 6.1 遵循了这个示例

问题:FBSession.activeSession.isOpen的第 1 次VewController(我登录的地方)是 TRUE,如果我去第 2 次ViewController并返回登录仍然打开。在我的第二次ViewController(我有FBProfilePictureView我的地方FBSession.activeSession.isOpen是错误的。

我该如何解决?

4

1 回答 1

0

好吧,我做什么:

您创建的某个地方@property facebookSession
... 。H ...

@property (nonatomic,strong)FBSession* facebookSession;

... . 米 ...

@synthesize facebookSession = _facebookSession;

接下来你应该创建它:

        _facebookSession = [[FBSession alloc] initWithAppID:kAppId
                                                permissions:permissions
                                            urlSchemeSuffix:nil
                                         tokenCacheStrategy:[FBSessionTokenCachingStrategy defaultInstance]

                                ];

之后,您应该授权:

    [_facebookSession openWithCompletionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
        if(error){
            DLog(@"can't open session with caching strategy!");
        }
        else{
            DLog(@"open session with caching strategy: %@",[[FBSessionTokenCachingStrategy defaultInstance] fetchTokenInformation]);
        }
    }];

我建议你用你自己的类包装 facebook sdk。

于 2013-03-05T16:25:04.980 回答