Facebook的iOS SDK不返回到我的应用程序

我试图实现新的oAuth2 Facebook SDK到我的应用程序,但不能为我的生活了解如何我应该回到我的应用程序一旦login/身份validation。

我的目标是在用户墙上发布消息。

我目前正在开始login过程:

-(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]; } 

这是打开一个Safari浏览器。 如果我已经login,并授权应用程序的消息将告诉我,我有一个OKaybutton按。

当我按OKAYbutton时,我收到一条警告,说Safari浏览器无法打开页面。 我确认了警报,并留在空白的Safari浏览器窗口。

如果我从Facebook注销,我会看到我填写的login屏幕,然后按照上面的提示。

我知道我还没有在任何地方实施发布命令,因为我不知道应该在哪里/何时实施。

我确实有这个委托方法,但似乎永远不会被调用

 - (void)fbDidLogin { NSLog(@"fbDidLogin"); } 

这是我等待放置在某处的代码:

 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]; 

我的应用程序主要AppDelegate中也有以下方法:

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

任何帮助/build议将非常感激。

谢谢

标记

我有这个相同的问题。 为了澄清一些其他答案,下面是我如何解决在Xcode 4.2中的iPhone应用程序的问题:

 .plist file "URL types" "Item 0" "URL Schemes" "Item 0" "fb21593853845xxxx" 

Arg,你最好打开.plist作为代码源,你应该看到:

 <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>fb38*******</string> </array> </dict> </array> 

您必须将您的AppID写入.plist