I have followed the instruction to implement a login process to Facebook from my app:
https://developers.facebook.com/docs/mobile/ios/build/#implementsso
Here is my code:
- (IBAction)facebookButton:(id)sender {
facebook = [[Facebook alloc] initWithAppId:@"383032031757454" andDelegate:self];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]
&& [defaults objectForKey:@"FBExpirationDateKey"]) {
facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}
if (![facebook isSessionValid]) {
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"user_likes",
@"read_stream",
nil];
[facebook authorize:permissions];
permissions=nil;
}
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [facebook handleOpenURL:url];
}
- (void)fbDidLogin {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
}
After login and allow permissions to the app, Safari remains opened and I have to return back to my app manually, but the sample app "Hackbook" provided with SDK, after accepting permissions and login within Safari, it dismisses Safari and returns back to the app. I want to do the same but I wasn't successful.
This is the .plist file:
Thanks