我一直在关注 facebook 开发网站上的指南。所以我把所有东西都设置好了,授权似乎很顺利,但是,当接受应用程序然后按“确定”时,我唯一得到的是一个空白屏幕,顶部有“取消”。
我相信问题出在 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 方法永远不会被调用,我不知道为什么。