我的应用使用 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 应用程序登录?
这两种情况下的代码是相同的。