3

我有 2 个 iOS 应用程序使用相同的 Facebook APP ID。

第一个适用于新的原生 Facebook 登录。

在与付费版本集成时,我按照本指南在两个应用程序之间共享应用程序 ID。

问题:由于某种原因,以下代码没有使用本机 Facebook 登录,而是打开 Safari 进行 Web 登录。

BOOL result = NO;

FBSession *session = [[FBSession alloc] initWithAppID:nil
                                          permissions:permissions
                                      urlSchemeSuffix:@"paid"
                                   tokenCacheStrategy:nil];

if (allowLoginUI || (session.state == FBSessionStateCreatedTokenLoaded)) {
    [FBSession setActiveSession:session];
    [session openWithCompletionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
         [self sessionStateChanged:session state:state error:error];
     }];
    result = session.isOpen;
}

return result;

我在 iPhone 的设置窗口仔细检查了我是否使用我的 Facebook 帐户登录。

Facebook 文档对此一无所知。

他们是否发布了未完成/有漏洞的 SDK?

4

1 回答 1

1

我认为您需要使用openWithBehavior:completionHandler:变体来打开会话并明确指定FBSessionLoginBehaviorUseSystemAccountIfPresent的行为。

于 2012-11-15T13:09:12.787 回答