我使用 Facebook 对话框以这种方式在墙上发帖
[facebook dialog:@"feed" andParams:params andDelegate:self];
如果用户在对话框之前没有登录,登录窗口会出现在对话框中。没关系,但是当用户按下登录对话框时,用户必须再次调用对话框,毕竟将我的消息张贴在他的墙上。强制用户调用对话框两次是很奇怪的,所以任何人都可以帮我解决这个问题吗?
最佳答案
解决此问题的最简单方法是将您的params
存储在ivar 中。然后,当 FBConnect 使用 fbDidLogin
调用您的委托(delegate)时,您可以自动重新发出 dialog:andParams:andDelegate
调用。
更长且更正确的解决方案是,您需要将授权和发布步骤分开。您可以将 fb.accessToken
和到期日期存储在 NSUserDefaults 中,然后在您第一次尝试访问 FBConnect 时调用它们。如果到期日期已过,则调用 authorize:delegate
以获取新的访问 key 。 fbLogin 完成后,您将对话框发布给用户以继续。
或者,你不能重新发明轮子,看看 ShareKit http://getsharekit.com/以获得更完整的解决方案。
关于iphone - Facebook 对话框登录问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9224039/