Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Facebook iOS SDK not returning to my app

I'm trying to implement the new oAuth2 facebook SDK into my app but can't for the life of me understand how I'm supposed to get back to my app once logged in/authenticated.

My goal is to post a message on the users wall.

I am currently starting the login procedure with this:

-(void)tryFBlogin {

NSString *appId = @"113142482******";

NSArray *permissions =  [[NSArray arrayWithObjects:@"publish_stream",nil] retain];

TheAppDelegate *theAppDelegate = (TheAppDelegate *)[[UIApplication sharedApplication]delegate];

//Asking for permission
theAppDelegate = (TheAppDelegate *)[[UIApplication sharedApplication] delegate];
theAppDelegate.facebook = [[Facebook alloc] initWithAppId:appId andDelegate:self];
Facebook *fb = [theAppDelegate facebook];
[fb  authorize:permissions];

}

which is opening a safari browser. If I'm already logged in and have the app authorized a message will tell me so and I have an OKay button to press.

When I press the OKay button I get an alert saying safari cannot open the page. I confirm the alert and am left looking at a blank safari window.

If I'm logged out of facebook I am presented with the login screen which I fill in and am then presented with the same as above.

I understand that I haven't implemented the publish command anywhere yet as I don't know where/when this should be implemented.

I do have this delegate method in place but this seems to never get called

- (void)fbDidLogin {

    NSLog(@"fbDidLogin");
}

This is the code I have waiting to place somewhere:

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
kAppId, @"113142482******",
facebookUrl, @"link",
@"http://www.domain.com", @"picture",
@"My Message", @"name",
@"Caption text!", @"caption",
@"Message text.",  @"message",
nil];

[facebook dialog:@"feed" andParams:params andDelegate:self];

I also have the following methods in my apps main AppDelegate:

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

Any help/suggestions would be very much appreciated.

Thanks

Mark

like image 467
crooksy88 Avatar asked Oct 05 '11 19:10

crooksy88


People also ask

How do I know if Facebook SDK is installed?

First, go to your Analytics for Apps page: Analytics for Apps. Then, click "Mobile App Installs” from the left-hand navigation, and check your last install reported to confirm proper installation of the SDK.

What is Facebook SDK for iOS?

The Facebook SDK enables: Facebook Login - Authenticate people with their Facebook credentials. Share and Send dialogs - Enable sharing content from your app to Facebook. App Events - Log events in your application.


1 Answers

I had this same problem. Just to clarify some of the other answers, here's how I fixed the issue for my iPhone app in Xcode 4.2:

.plist file
    "URL types"
    "Item 0"
        "URL Schemes"
        "Item 0"
            "fb21593853845xxxx"
like image 59
Greg M. Krsak Avatar answered Oct 01 '22 01:10

Greg M. Krsak