开发者

iPhone app crashes after first Facebook Connect authorization / login

开发者 https://www.devze.com 2023-03-30 04:55 出处:网络
I\'ve been looking for an answer everywhere but couldn\'t find one. The problem is: I have an iPhone application (on the AppStore) which uses Facebook iPhone SDK.

I've been looking for an answer everywhere but couldn't find one.

The problem is:

  • I have an iPhone application (on the AppStore) which uses Facebook iPhone SDK.
  • I'm using the SDK for authorizing the user in the following way:
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];

In the AppDelegate I have this code:

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

And now:

- The SDK opens Safari and displays the well known facebook authorization screen.

- User presses the "allow" button.

- iOS tries to return to the app..

- But then - BAM! - CRASH! - Before application launched back!!

VERY IMPORTANT:

  • Users encounter this crash ONLY in their first launch of the app after installation.

    When they open the app again after the crash everything works perfectly and they're even signed-in

  • This scenario cannot be reproduced afterwards even if the us开发者_如何学Pythoner uninstalls the app and install it again. it happens only on the first launch of the first installation.

Really need help here. 90% of my users get this crash on production.

Thanks a lot.


in this line:

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

you set the delegate to self so that class must implement FBSessionDelegate with these functions:

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

精彩评论

暂无评论...
验证码 换一张
取 消