iphone - Facebook 连接登录对话框不工作

标签 iphone facebook

我正在使用 iPhone 版 Facebook Connect 并关注 official instructions .我使用以下代码显示登录对话框:

FBLoginDialog* dialog = [[[FBLoginDialog alloc] initWithSession:session] autorelease];
[dialog show];

(请注意,当我使用 FBLoginButton 方法而不是直接显示对话框时,结果是相同的。)

对话框按预期弹出,但正如您在下面的屏幕截图中看到的那样,它太大了,看起来像完整的 Facebook 主页。我可以平移对话框以显示登录按钮,但一旦我登录,它就会继续在对话框内显示常规 Facebook 页面。它从不调用我的 session:didLogin 回调。

我做错了什么吗?

alt text http://img.skitch.com/20091115-t24w7p5gpa6iqgehjdc4f1awfs.jpg

最佳答案

我终于想通了...我正在我的应用委托(delegate)的 applicationDidFinishLaunching 方法中初始化 FBSession。然后我在我的 View Controller 的 viewDidAppear 中触发了 Facebook 登录代码。

但是,applicationDidFinishLaunching 看起来像这样:

- (void)applicationDidFinishLaunching:(UIApplication *)application {    
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];

    self.session = [FBSession sessionForApplication:FB_API_KEY secret:FB_APP_SECRET delegate:self];
}

这意味着我在初始化 FBSession 之前就显示了窗口,显然 nil session 会导致我上面描述的行为。在更改 applicationDidFinishLaunching 以首先创建 FBSession 之后,现在一切都按预期工作。哦...;)

关于iphone - Facebook 连接登录对话框不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1738246/

相关文章:

iphone - 在不减慢 xcode 的情况下在 iPhone 应用程序中包含许多图像

iphone - Settings.bundle 与 NSUserDefaults

facebook - 如何使用新的图形 API 在 FB 中显示扩展权限对话框?

facebook - 应用程序 URL 与重定向 URL

iphone - 在 Twitter 中发送带有文本推文的 Logo 类型图像

ios - 使用默认摄像头启用视频模式

ios - 如何在我的应用程序中启用 "Photos"的编辑功能? [ swift 3]

ruby-on-rails-3 - 那里有 Facebook Credits Ruby On Rails gem 吗?或者他们的 Facebook Credits 示例应用程序的 ruby​​ 版本?

c# - 使用 C# 从 facebook 获取 FB 页面数据

javascript - Facebook 页脚栏是一个 iframe,那么为什么它不与页面的其余部分一起重新加载呢?