presentShareDialogWithParams发布到FB墙,但callback处理程序结果说错误
我有一个Facebook的SDK的iOS应用程序。 我在https://developers.facebook.com/docs/ios/ios-sdk-games/feed/几乎逐字地使用了第一块示例代码来将我的应用程序的信息分享给FB。 我只更改了示例代码中的string和URL以适应我的应用程序。
虽然从我的应用程序的post出现在我的Facebook墙上,一切看起来不错,我的NSLog
FBAppCall结果是说,
错误发布故事=错误域= com.facebook.sdk代码= 11“用户在完成此AppCall之前导航离开Facebook应用程序。此AppCall现在被取消,需要重试才能成功完成
我试图使用FBAppCall结果,以便成功发送时,我可以触发另一个networking调用到我的后端,我可以logging关于事件的数据。 奇怪的是,虽然我可以看到我的墙上的post,“故事发布”的最后的else
条件没有发生, error
条件是。
下面是实际的FBAppCall,它再次来自https://developers.facebook.com/docs/ios/ios-sdk-games/feed/
[FBDialogs presentShareDialogWithParams:shareParams clientState:nil handler:^(FBAppCall *call, NSDictionary *results, NSError *error) { if(error) { NSLog(@"Error publishing story = %@.", error); NSLog(@"result = %@.", results); } else if (results[@"completionGesture"] && [results[@"completionGesture"] isEqualToString:@"cancel"]) { NSLog(@"User canceled story publishing."); } else { NSLog(@"Story published."); self.shareMethod = @"Facebook"; [self recordSharingDataAtParse:self.shareMethod]; } }];
最后一个注意:我不相信这可能是原因,但我的FB应用程序目前处于“沙盒”模式。
更新:我发现这个类似的postFBDialogs presentShareDialogWithParams成功,但错误返回与推荐的解决scheme禁用“安装见解”和“移动SDK洞察”在应用程序控制台。 不幸的是,这并没有解决我的问题。
谢谢。
我不知道Error Domain=com.facebook.sdk Code=11
但你必须检查你的应用程序在Facebook上设置和一些迁移禁用前三个选项(2012年7月,2012年8月突破变化)。
🙂
遇到此错误时,您需要处理来自应用程序委托的响应。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication fallbackHandler:^(FBAppCall *call) { if (call.appLinkData && call.appLinkData.targetURL) { // Invoke pending callback. } }]; }
当用户完成操作时,呼叫将包含post中的所有信息:
<FBAppCall: 0x147274f0, ID: 62FA2382-B557-45D5-8ACA-FE4C7516F861 dialogData: <FBDialogsData: 0x14727490, method: share arguments: { dataFailuresFatal = 0; description = "After years of captivity, Angry Goat is finally free!"; link = "http://appstore.com/berrycrush"; name = "Unlocked Angry Goat"; picture = "http://example.com/angry-goat.png"; } results: { completionGesture = post; didComplete = 1; }> >