我正在开发一个 ios phonegap 应用程序。对于注册,我使用phonegap facebook 插件。它第一次运行良好。但是现在当我尝试注册时它不起作用。我没有改变任何东西。我使用 Xcode 4.6.1 版和 cordova 2.4.0 版。
图显示了我的 Facebook 开发者页面。
我究竟做错了什么?
请帮忙,谢谢。
我正在开发一个 ios phonegap 应用程序。对于注册,我使用phonegap facebook 插件。它第一次运行良好。但是现在当我尝试注册时它不起作用。我没有改变任何东西。我使用 Xcode 4.6.1 版和 cordova 2.4.0 版。
图显示了我的 Facebook 开发者页面。
我究竟做错了什么?
请帮忙,谢谢。
我认为这将解决您的问题:
这对你有用。
首先确保您的 Bundle Id 应该是正确的。
并像这样更改您的设置
更改沙盒设置已禁用。
还可以更改您的 P-list 设置
它会正常工作。如果您将再次遇到此问题,请告诉我。
如果您收到警告“访问令牌已贬值”。请在您将权限传递给您的应用程序的这两行中添加或替换您的代码行
[FBSession.activeSession closeAndClearTokenInformation];
NSArray *permissions = [NSArray arrayWithObjects:@"email", nil];
如果您做的所有事情都正确,请检查“状态”值。如果是 257,那么请在您的 iPhone facebook 设置中启用您的应用程序。
这是可以帮助您更好地理解的代码
[FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:YES completionHandler:^(FBSession *session,
FBSessionState status, NSError *error)
{
if (error)
{
NSLog(@"error===%@ status====%u",error,status);
// Handle errors
[self handleAuthError:error];
}
else if (FB_ISSESSIONOPENWITHSTATE(status))
{
[self getData];
}
}];
-(void)handleAuthError:(NSError *)error{
NSString *alertMessage, *alertTitle;
if (error.fberrorShouldNotifyUser) {
// If the SDK has a message for the user, surface it.
alertTitle = @"Something Went Wrong";
alertMessage = error.fberrorUserMessage;
} else if (error.fberrorCategory == FBErrorCategoryUserCancelled) {
// The user has cancelled a login. You can inspect the error
// for more context. For this sample, we will simply ignore it.
NSLog(@"user cancelled login");
} else {
// For simplicity, this sample treats other errors blindly.
alertTitle = @"Unknown Error";
alertMessage = @"Error. Please try again later.";
NSLog(@"Unexpected error:%@", error);
}
if (alertMessage) {
[[[UIAlertView alloc] initWithTitle:alertTitle
message:alertMessage
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil] show];
}
}
我希望它会奏效。
下载 Facebook 新版本,它应该可以工作。我对 sdk 版本 3.13.1 有同样的错误。然后,我用 sdk 版本 3.14.1 替换它。然后,它对我有用。
还有一种情况是您的 info.plist 中的 URL 类型数组中有 2 个或更多项。Facebook 相关项目应该是第一个,否则会出现错误 2。这可能是 Facebook SDK 错误。
这对我有用:
转到 iPhone 的设置应用程序。打开您的 Facebook 设置 向下滚动到您的应用,并确保您的应用允许 Facebook 交互。