我正在使用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
我终于想通了......我正在初始化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 ......;)
| 归档时间: |
|
| 查看次数: |
4272 次 |
| 最近记录: |