Facebook iOS SDK:“发布到墙”对话框未在CANCEL上关闭

时间:2012-03-15 09:43:00

标签: iphone objective-c ios ipad facebook-graph-api

我正在使用Facebook共享SDK for iPad应用程序。我曾使用过这里引用的教程:

iCodeBlog Facebook Tutorial - http://www.icodeblog.com/2011/03/28/facebook-sdk-posting-to-user-news-feed/

通过本教程,分享工作完美无缺。但它没有显示POST TO WALL对话框,该对话框预览用户并在发布故事之前询问任何评论。

我以FBDialog显示的方式修改了一些文件和方法。 现在,对于POST TO WALL对话框,当我单击对话框中的SHARE按钮时,我正在设置所有内容,并且它工作正常。但随后它显示空白对话框。当我点击“取消”按钮后,它会再执行2-3次点按对话框关闭。

任何人都可以查看以下FBDialog.m方法吗?

webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request
    navigationType:(UIWebViewNavigationType)navigationType

我需要在点击SHARE或CANCEL后关闭Dialog。

2 个答案:

答案 0 :(得分:0)

iCodeBlog上的Facebook发帖教程使用Facebook SDK的旧版Api方法..

Facebook的API已经更新。所以对旧方法的支持和故障排除将会更少..

我建议你在项目中实施最新的SDK。 可以找到官方教程/步骤here 整合它并不需要超过20分钟,教程也很好。

答案 1 :(得分:0)

我的问题解决了。但是我使用了GET方法而不是POST。 在开始时,我使用POST方法传递POST TO WALL diaglog的参数。我现在使用GET方法并传递这样的参数,

https://www.facebook.com/dialog/feed?link=http://www.google.com&description=SAR2011DE&type=link&message=Any%20Comments&name=Investis&picture=http://www.google.com/cover.jpg&access_token=thetoken&redirect_uri=fbconnect://success&display=touch

此链接可能无效,但主要是我使用了以下字典并用作get params:

[params setObject:@"link" forKey:@"type"];
[params setObject:self.url forKey:@"link"];
[params setObject:self.imagePath forKey:@"picture"];
[params setObject:@"Comment:" forKey:@"message"];
[params setObject:self.caption forKey:@"description"];
//[params setObject:self.url forKey:@"caption"];
[params setObject:self.url forKey:@"name"];
[params setValue:[[ResourceHelper sharedHelper] FacebookAPIKey] forKey: @"app_id"];