views:

282

answers:

1

I'm experiencing a weird bug that I can replicate pretty consistently with the FBConnect iPhone SDK, more specifically with the class FBPermissionDialog. The result is that instead of seeing the standard extended permissions dialog, the user is shown this: http://cl.ly/15Lx. The only way around it is for the user to delete the app and reinstall.

This is how I have replicated it:

  • On first login, the user is asked for extended permissions on something (the dialog displays correctly). The user declines the permission. User quits the app.
  • The user relaunches the app and since we still need the permission, we ask again.
  • Instead of the permission dialog, the user is shown the "Welcome to Facebook" page.

The only way for the user to get asked again is to delete the app and reinstall. Has anyone else experienced this? Is there a workaround? Here is the code I use to ask for permission, I believe it's pretty standard.

// Create a permission dialog
FBPermissionDialog *dialog = [[[FBPermissionDialog alloc] init] autorelease];
dialog.delegate = self;
dialog.permission = @"read_stream";
[dialog show];
A: 

I face the same issue. In fact, you don't have to uninstall and reinstall the application. A FBSession logout will do trick. Based on that, here's a workaround.

Whenever one of those cases occurs :

  • the user "cancel" the FBPermissionDialog
  • having displayed the FBPermissionDialog, publishing on the wall fails because "The user hasn't authorized the application to perform this action"

-> force logout using the FBSession's "logout" methods.
The user will have to enter his email and password again the next time a Facebook request is performed.

I must say I'm not really happy with that, but at least, it prevents the ugly popup from appearing. I'm still looking forward to a better workaround or even a fix on either FBConnect or Facebook server side.

David
I am also experiencing the same issue with latest FBConnect iPhone SDK (last commit 2010-04-14)
Pavol Juhos