Facebook SDK 3.5.1无法在Facebook登录时打开Facebook App

时间:2013-05-24 18:32:57

标签: ios login facebook-ios-sdk

我的应用使用Facebook SDK 3.0。我在iOS设置中没有Facebook帐户,但我在设备上安装了Facebook应用程序(iOS 6.1.3),并希望在我的应用程序中登录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应用程序禁用了登录?

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

1 个答案:

答案 0 :(得分:5)

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

这不起作用 This won't work

这会奏效 This will work