Facebook Connect登录对话框无效

Mir*_*ich 4 iphone facebook

我正在使用Facebook Connect for iPhone并遵循官方说明.我使用以下代码显示登录对话框:

FBLoginDialog* dialog = [[[FBLoginDialog alloc] initWithSession:session] autorelease];
[dialog show];
Run Code Online (Sandbox Code Playgroud)

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

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

有什么我做错了吗?

替代文字http://img.skitch.com/20091115-t24w7p5gpa6iqgehjdc4f1awfs.jpg

Mir*_*ich 5

我终于想通了......我正在初始化FBSession我的app委托applicationDidFinishLaunching方法.然后我在视图控制器中触发了Facebook登录代码viewDidAppear.

但是,applicationDidFinishLaunching看起来像这样:

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

    self.session = [FBSession sessionForApplication:FB_API_KEY secret:FB_APP_SECRET delegate:self];
}
Run Code Online (Sandbox Code Playgroud)

这意味着我在初始化之前显示窗口FBSession,显然nil会话导致我上面描述的行为.更改applicationDidFinishLaunching为创建第FBSession一个后,现在一切都按预期工作.Doh ......;)