Facebook IOS SDK:发布故事对话框出错

时间:2011-03-02 23:15:30

标签: ios facebook

我已成功设置Facebook IOS SDK的“DemoApp”项目,以使用我的“OKC ThunderCast”Facebook应用程序。我还从头开始配置另一个“Tester”应用程序,以成功使用Facebook SDK并将故事发布到我的新闻源。但是,在我的生产应用程序中,当调用“对话框”方法时,我总是 get this result。错误消息的完整描述是“第17行第52行的错误:打开和结束标记不匹配:div行0和正文”

这是我所有代码的详细演练,以确保没有遗漏任何内容。

1)UIViewController调用“authorize”方法

NSArray *fbPerms = [NSArray arrayWithObjects:@"read_stream", @"offline_access", nil];
[[FacebookSingleton sharedInstance].facebook authorize:fbPerms delegate:self];

注意:FacebookSingleton是我写的一个类,它总是返回“Facebook”类的单个实例。我在其他应用程序中成功使用它。

2)Safari已打开,用户已成功通过身份验证和授权

3)调用应用程序并调用“handleOpenUrl”方法,该方法调用UIViewController的“fbDidLogin”方法

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
 {
Facebook *fb = [FacebookSingleton sharedInstance].facebook;
return [fb handleOpenURL:url];
 }

4)相同的UIViewController处理“fbDidLogin”事件,并调用“对话框”方法

- (void)fbDidLogin
{   
[[FacebookSingleton sharedInstance].facebook dialog:@"feed" andDelegate:self];
   }

我还在.plist文件中有必要的“URL Schemes”和“URL Types”条目。在我看来,我在“DemoApp”,“Tester”和生产应用程序中使用完全相同的代码。但是当DemoApp和Tester工作时,我总是在生产应用程序的feed对话框中看到这个HTML错误。有没有人见过类似的问题?它可能与Facebook应用程序设置中的Facebook“Bundle ID”设置有关吗?是否有一些不同的构建或.plist设置?

我花了很多时间进行故障排除,但在几周内没有成功。提前谢谢......

1 个答案:

答案 0 :(得分:0)

问题的原因是在NSUserDefaults字典中为“User-Agent”键设置了一个值。我想指定自己的用户代理来唯一标识我的iOS应用程序。但不知何故设置此值导致上述问题。当我简单地将此密钥重命名为“OKCTC-User-Agent”时,错误立即得到解决。

我确实登录了issue on the GitHub site for the Facebook-IOS-SDK。希望这会帮助遇到类似问题的其他人。

相关问题