使用FB LoginView的IOS 6 Facebook SDK

时间:2012-11-17 06:22:33

标签: iphone facebook ipad loginview authorize

我有一个iPhone IOS 4.3和iPad IOS 6应用程序都使用相同的代码登录用户。 FBLoginView可在iPhone上使用IOS4.3。在我使用IOS 6的IPad应用程序上,只显示对话框,说应用程序想要访问您的照片,并代表您使用2个按钮“不允许”和“确定”发布给您的朋友。我按下了确定,但Facebook没有登录。

我需要什么其他设置?

由于

3 个答案:

答案 0 :(得分:1)

对我来说问题是因为我正在使用offline_access。

我有以下代码:

FBLoginView *loginView = [[FBLoginView alloc] initWithReadPermissions:
             [NSArray arrayWithObjects:@"offline_access", @"email", nil]];

更改为:

后错误消失了
FBLoginView *loginView = [[FBLoginView alloc] initWithReadPermissions:
             [NSArray arrayWithObjects:@"email", nil]];

有关offline_access的更多详情,请访问:https://developers.facebook.com/roadmap/offline-access-removal/

答案 1 :(得分:0)

根据文档,可以使用以下代码完成登录。将NSLog放入内部以获取错误。

[FBSession openActiveSessionWithReadPermissions:[NSArray arrayWithObjects:@"read_stream", nil] allowLoginUI:YES
                              completionHandler:^(FBSession *session,
                                                  FBSessionState status,
                                                  NSError *error) {
                                  // session might now be open.
                                  NSLog(@"Error - %@", error);
                              }]

答案 2 :(得分:0)

好的,现在使用以下方法来代替FBLoginView来追踪错误。然后,您可以切换回FBLoginView。

[FBSession openActiveSessionWithReadPermissions:[NSArray arrayWithObjects:@"read_stream", nil] allowLoginUI:YES
                              completionHandler:^(FBSession *session,
                                                  FBSessionState status,
                                                  NSError *error) {
                                  // session might now be open.
                                  NSLog(@"Error - %@", error);
                              }]