1

我的应用使用 Facebook SDK 3.0。我在 iOS 设置中没有 Facebook 帐户,但我在设备 (iOS 6.1.3) 上安装了 Facebook 应用程序,并想在我的应用程序中登录 Facebook。我打电话:

NSArray* aPermissions = [NSArray arrayWithObjects: @"user_about_me", @"user_activities", @"user_interests", @"user_notes" , @"read_stream", @"user_status",  @"user_likes" , @"friends_likes", @"user_hometown", @"user_location", @"email",  nil];
FBSession* session = [[FBSession alloc] initWithAppID:FACEBOOK_API_KEY
                                          permissions:aPermissions
                                      defaultAudience:FBSessionDefaultAudienceEveryone
                                      urlSchemeSuffix:nil
                                   tokenCacheStrategy:nil];

[session openWithBehavior: FBSessionLoginBehaviorUseSystemAccountIfPresent
                 completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
            [self connectResult:error withState:state];
        }];

我的应用程序会打开 Facebook 应用程序,然后它会将我返回到我的应用程序。很棒,我喜欢它的工作方式。

但我发现 Facebook 有新的 SDK 3.5.1,我决定更新我的旧 SDK。当我这样做时,我发现这个 SDK 没有打开 Facebook 应用程序,它只是在当前视图上方显示一个脏的 WebView。这很糟糕,因为用户应该记住他的登录名和密码。我的情况有什么问题?我错过了什么?Facebook 是否禁用了通过 Facebook 应用程序登录?

这两种情况下的代码是相同的。

4

1 回答 1

5

它来自快速应用程序切换 URL 的事情。您可能有一个 fb$(FB_APP_ID) 之类的 url,但它被声明为第二个,而 FB SDK 只查看第一个资源: https ://github.com/facebook/facebook-ios-sdk/blob/master/src/ FBUtility.m#L381

这行不通 这行不通

这将起作用 这将起作用

于 2013-05-24T21:58:00.537 回答