2011-08-24 45 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;