2013-03-27 94 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