3

同じ Facebook アプリ ID を使用する 2 つの iOS アプリがあります。

1 つ目は、新しいネイティブの Facebook ログインでうまく機能します。

有料版と統合しながら、このガイドに従って、両方のアプリ間でアプリ ID を共有していました。

問題:何らかの理由で、次のコードはネイティブの Facebook ログインを使用せず、代わりに Web ログイン用に Safari を開きます。

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 に答える