我一直在facebook的开发网站上关注该指南。所以我设置了一切,授权似乎进展顺利,然而,当接受应用程序然后按“好”时,我得到的唯一一个是顶部有“取消”的空白屏幕。
我认为问题出在sessionStateChanged-method中。应该停在这一部分(我想):
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-method永远不会被调用,我不知道为什么。
答案 0 :(得分:1)
您的应用程序永远不会打开,因为您没有创建URL方案来重定向您。请参阅FB文档中的屏幕截图。