2011-08-24 85 views
4

我一直在尋找一個答案無處不在,但找不到一個。
問題是:iPhone應用程序在第一個Facebook連接授權/登錄後崩潰

  • 我有一個iPhone應用(在AppStore上),其使用Facebook iPhone SDK
  • 我使用SDK在下列方式授權用戶:
NSArray *permissions = [NSArray arrayWithObjects: @"offline_access", 
@"publish_stream", @"user_birthday", @"user_hometown", @"user_interests", 
@"user_location", @"email" ,nil]; 

[((MyAppDelegate *)AppDelegate).facebook authorize:permissions delegate:self]; 

在AppDelegate中我有這樣的代碼:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 
{ 
    return [self.facebook handleOpenURL:url]; 
} 

現在:
- 該SDK打開Safari並顯示着名的Facebook授權屏幕。
- 用戶按下「允許」按鈕。
- iOS試圖回到應用程序..
- 但然後 - BAM! - 碰撞! - 應用程序啓動之前回來!

非常重要:

  • 用戶遇到只在安裝後第一次推出的應用程序的該崩潰。
    當他們在崩潰後再次打開應用程序時,一切正常,甚至登錄
  • 即使用戶卸載應用程序並重新安裝,此方案也無法再現。它僅在第一次安裝的第一次啓動時發生。

真的需要幫助。我的用戶中有90%在生產中遇到這個崩潰。
非常感謝。

在這一行
+0

做ü以往任何時候都得到了解決????/IM同樣的問題。 – iscavengers

回答

1

[((MyAppDelegate *)AppDelegate).facebook authorize:permissions delegate:self]; 

您的委託設置爲self,這樣的類必須實現FBSessionDelegate這些功能:具有

(void)fbDidLogin; 
(void)fbDidNotLogin:(BOOL)cancelled; 
(void)fbDidLogout;