1

我遇到了一个奇怪的错误,我可以使用 FBConnect iPhone SDK 非常一致地复制它,更具体地说是使用 FBPermissionDialog 类。结果是,用户没有看到标准的扩展权限对话框,而是显示如下:

在此处输入图像描述

解决此问题的唯一方法是用户删除应用程序并重新安装。

这就是我复制它的方式:

  • 首次登录时,会要求用户对某事提供扩展权限(对话框正确显示)。用户拒绝该权限。用户退出应用程序。
  • 用户重新启动应用程序,由于我们仍然需要权限,我们再次询问。
  • 用户看到的是“欢迎使用 Facebook”页面,而不是权限对话框。

再次询问用户的唯一方法是删除应用程序并重新安装。有没有其他人经历过这个?有解决方法吗?这是我用来请求许可的代码,我相信它很标准。

// Create a permission dialog
FBPermissionDialog *dialog = [[[FBPermissionDialog alloc] init] autorelease];
dialog.delegate = self;
dialog.permission = @"read_stream";
[dialog show];
4

1 回答 1

0

我面临同样的问题。事实上,您不必卸载并重新安装该应用程序。一个 FBSession 注销就可以了。基于此,这里有一个解决方法。

每当发生其中一种情况时:

  • 用户“取消” FBPermissionDialog
  • 显示 FBPermissionDialog 后,在墙上发布失败,因为“用户尚未授权应用程序执行此操作”

-> 使用 FBSession 的“注销”方法强制注销。
下次执行 Facebook 请求时,用户必须再次输入他的电子邮件和密码。

我必须说我对此并不满意,但至少它可以防止丑陋的弹出窗口出现。我仍然期待更好的解决方法,甚至是 FBConnect 或 Facebook 服务器端的修复。

于 2010-05-24T12:23:54.830 回答