我有一些代码要发布到朋友的 Facebook 墙上,在通过 Open Graph 弃用此代码后,我更改为使用已弃用的标题和 Facebook 对话框来将用户包含在发布中。这已经工作了数周,但似乎在生产应用程序中停止工作(周二工作正常,周三失败)(即没有代码更改或重新构建。)
我花了几个小时尝试各种事情(在主线程上运行,断言会话是实时的,重新写入 SDK 3.2,卸载应用程序/重新安装,完全更改对话框类型和发布内容)以恢复能力,但无论如何我做的对话框立即解散。[注意:我们的应用程序没有开发者警报,我相信应用程序的设置都没有改变。]
这是代码。facebookManager“performConnectedAction”来自 Facebook 示例,以确保活动会话(我断言它没有问题。):
NSMutableDictionary *wallPost = [NSMutableDictionary dictionary];
// Content populating not show (and I've tried various simplifications)
// Who to...
[wallPost setObject:_selectedUser.id forKey:kFB_FIELD_TO];
[facebookManager performConnectedAction:^{
FBSession *facebookSession = facebookManager.facebookSession;
Assert( facebookSession.isOpen, @"Need an open Facebook session.");
[FBWebDialogs presentFeedDialogModallyWithSession:facebookSession parameters:wallPost handler:^(FBWebDialogResult result, NSURL *resultURL,NSError *error) {
if ( !!error ) {
[self logEventWithFormat:@"Failed to invite on Facebook [%@]", error];
}
}];
}];
基本上......不仅对话框向上/向下闪烁,而且没有给出回调(没有提供错误或结果。)Facebook应用程序的所有其他部分继续运行(我们的图形调用,我们的Facebook好友对话框,等等.)
我将不胜感激有关进一步调查此问题的方法的任何想法。我已经提交了错误报告:
http://developers.facebook.com/bugs/165456656937602?browse=search_5130e2d7663dd6543665811