2013-04-06 60 views
1

我正在使用iOS应用程序,它具有简单的Facebook分享功能,基本上它允许您通过在提要中发布来共享此应用程序的链接。iOS Facebook SDK 3.2.1 Feed帖子错误

我使用Facebook的SDK 3.2.1这样:

NSMutableDictionary *params = 
    [NSMutableDictionary dictionaryWithObjectsAndKeys: 
     @"Test tweet", @"name", 
     @"Test", @"description", 
     @"http://myapplink.com", 
     @"link", 
     @"http://myapppicture.com/picture.jpg", 
     @"picture", 
     nil]; 

[FBWebDialogs presentFeedDialogModallyWithSession:nil 
    parameters:params 
    handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) { 
     if (error) { 
      NSLog(@"Error publishing story."); 
     } else { 
      if (result == FBWebDialogResultDialogNotCompleted) { 
       NSLog(@"User canceled story publishing."); 
      } else { 
       NSLog(@"No error!"); 
      } 
     } 
    }]; 

的问题是:此代码运行时,它带来了Facebook的登录对话框,我登录后,我在屏幕上看到此错误: “发生错误,请稍后再试”。 控制台中没有任何记录,但是如果关闭此对话框,它只会记录“用户取消的故事发布。”

应用程序设置是非常基本的 - 我设置的一切就像Facebook的要求做到: http://developers.facebook.com/docs/getting-started/facebook-sdk-for-ios/

我的问题是:有没有人在同样的问题就来了?有什么可以解决的办法? 谢谢!

+0

我设法自己找到答案,但由于名声不好,我不能发布一段时间 - 我会在8小时内发布答案。一般来说,解决方案是添加@“app_id”键与您的应用程序ID来参数字典 – hellomrbrown 2013-04-06 11:04:25

回答

7

现在这是相当简单的,我觉得有点愚蠢:) 但无论如何,我希望这将有助于任何人将在同一问题。

通常情况下,我通过为我的“params”字典添加了一个更多的键值对来解决问题 - value @“my_facebook_app_id”用于键“app_id”。 所以正确的字典的样子:

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 
           @"11111111", @"app_id", 
           @"Test tweet", @"name", 
           @"Test", @"description", 
           @"http://sometestsite", @"link", 
          @"http://site.com/testimage.jpg", @"picture", 
           nil]; 

的Facebook SDK说APP_ID关键是“必需的,但大多数的SDK自动指定” - 即使我通过My​​App的-Info.plist文件提供我的APP_ID,似乎就像它没有自动指定(或者我做错了什么)。

所以,如果你有同样的问题,尝试添加@“app_id”键 - 这应该有所帮助。

+0

伙计...谢谢谢谢谢谢谢谢 – mtb 2013-06-24 04:22:15