Facebook Feed Dialog returns a unhandled JavaScript including post_id that crashes iOS app-Collection of common programming errors

I try to use Facebook’s Feed Dialog. According to the examples on the Facebook Developer’s web pages I coded two classes MyAppModelClass and MyViewCntrl, see below.

Compilation runs without errors or warnings! And the iOS app hangs only the first time it is ran.

When I call [MyViewCntrl aMethod] the first time – The user has to login with eMail and password – After login posting to the users wall can be edited

– After clicking “share” button on the feed dialog I get a grey view displayed and the iOS app hangs.

The view shows text that says:


window.location.href="fbconnect:\/\/success?
post_id=_253268854729889#_=_";

I thing the second number at post_id is a access token, but I am not sure.

  • I do not get a NSLog from one of the FBDialofDelegate’s
    methods, ([MyAppModelClass dialogDidComplete], [MyAppModelClass dialogDidNotComplete], .) at console!
  • The posting appears at the users wall

If I stop the iOS app in the iphone simulator (home button) and i Xcode (stop button) and then restart the app on the iPhone simulator I do not get asked for authentication. And I do not get this javascript returned, everything works fine then.

What can I do to handle, avoid or get rid of the javascript returned during the first run?

See code outline below …

MyAppModelClass.h

#import "Facebook.h"
#import "FBConnect.h"
#import "FBDialog.h"

@interface MyAppModelClass :  NSObject   {

@property (nonatomic, retain) Facebook* facebook;
}

MyAppModelClass.m

#import "MyAppModelClass.h"

@synthesize facebook;


#pragma mark -
#pragma mark FBDialogDelegate


- (void) dialogDidComplete: (FBDialog*) dialog {
   NSLog(@".dialogDidComplete: %@", dialog);
}


- (void) dialogCompleteWithUrl:(NSURL*) url {
   NSLog(@".dialogDidCompleteWithURL: %@", url);
}


- (void) dialogDidNotComplete:(FBDialog*) dialog {
   NSLog(@".dialogDidNotComplete: %@", dialog);
}

- (void)dialogDidNotCompleteWithUrl:(NSURL*) url {
    NSLog(@".dialogDidNotCompleteWithUrl: %@", url);
}


- (void)dialog:(FBDialog*)dialog didFailWithError:(NSError*) error{
    NSLog(@".didFailWithError: %@", dialog);

}

MyViewCntrl.h

#import "MyAppModelClass.h"

- (void) aMethod;

MyViewCntrl.m

#import "MyViewCntrl.h"


- (void) aMethod {
NSMutableDictionary* myParameters = [[NSMutableDictionary alloc];
          initWithObjectsAndKeys: @"1234567", @"app_id",  
                                    @"touch", @"display",
     @"http://myWebSite.de/pics/AppIcon.jpg", @"picture",
                      @"http://myWebSite.de", @"link",  
                         @"It's my web site", @"caption",
               @"Visit my personal web site", @"description",
                                    @"false", @"show_error", nil];

[ptrMyAppModelClass facebook] dialog: @"feed"
                           andParams: myParameters
                         andDelegate: ptrMyAppModelClass];
}

Originally posted 2013-11-29 20:00:55.