我的应用使用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应用程序禁用了登录?
这两种情况下的代码是相同的。
答案 0 :(得分:5)
这是来自快速应用切换网址的事情。您可能有一个像url一样的fb $(FB_APP_ID),但它被声明为秒,而FB SDK只查看第一个资源: https://github.com/facebook/facebook-ios-sdk/blob/master/src/FBUtility.m#L381
这不起作用
这会奏效