2013-03-27 138 views
0

我一直在facebook的开发网站上遵循指南。所以我得到了一切设置,授权似乎进展顺利,但是,接受应用程序,然后按“好”时,我得到的唯一一个空白屏幕顶部的“取消”。Facebook的iOS SDK,授权后的空白屏幕

我相信问题位于sessionStateChanged-方法。它应该停在这部分(我认为):

switch (state) { 
    case FBSessionStateOpen: { 
     UIViewController *topViewController = 
     [self.navController topViewController]; 
     if ([[topViewController modalViewController] 
      isKindOfClass:[MyLoginViewController class]]) { 
      [topViewController dismissModalViewControllerAnimated:YES]; 
     } 
    } break; 

所以,如果登录和授权是成功的,这应该发生,对吗?那么,根据我的断点,它从来没有发生过。也许这就是为什么应用程序永远不会再被打开的原因?

无论如何,我很感激任何提示或建议,我可以得到这一个。

编辑:我发现这个问题是的openSession法:

- (void)openSession 
{ 
    [FBSession openActiveSessionWithReadPermissions:nil 
             allowLoginUI:YES 
            completionHandler: 
    ^(FBSession *session, 
     FBSessionState state, NSError *error) { 
     [self sessionStateChanged:session state:state error:error];//This never gets called!!! 
    }]; 
} 

的sessionStateChanged法不会被调用,我不知道为什么。

回答

1

您的应用程序永远不会打开,因为您没有创建URL方案将您重定向回来。查看FB文档的截图。 enter image description here

+0

啊,当教程说“前缀”时,我只是在fb和应用程序ID之间添加了一个下划线,这个愚蠢的问题。谢谢尤金。 – marsrover 2013-03-27 20:54:32