我有一个 iPhone IOS 4.3 和 iPad IOS 6 应用程序都使用相同的代码来登录用户。FBLoginView 在 IOS4.3 的 iPhone 上工作。在我使用 IOS 6 的 iPad 应用程序上,只显示对话框说应用程序想要访问您的照片,并使用 2 个按钮“不允许”和“确定”代表您发布给您的朋友。我按了确定,但 Facebook 仍未登录。
我还需要什么其他设置?
谢谢
对我来说,问题是因为我使用的是offline_access。
我有以下代码:
FBLoginView *loginView = [[FBLoginView alloc] initWithReadPermissions:
[NSArray arrayWithObjects:@"offline_access", @"email", nil]];
更改为后错误消失:
FBLoginView *loginView = [[FBLoginView alloc] initWithReadPermissions:
[NSArray arrayWithObjects:@"email", nil]];
此处有关离线访问的更多详细信息:https ://developers.facebook.com/roadmap/offline-access-removal/
好的,现在不要使用 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);
}]
根据文档,可以使用以下代码完成登录。将 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);
}]