IOS Facebook SDK:sharerDidCancel有什么问题:(id <FBSDKSharing>)分享代表?

Ngu*_*ark 8 xcode delegates facebook ios

我使用facebook sdk工作得很好,除了委托" sharerDidCancel:(id)sharer ".

当我用本机对话框FB app取消我的共享时,委托" sharer:(id)sharer didCompleteWithResults:(NSDictionary*)结果 "总是被调用?因此,当他们发布或取消对话框共享时,我无法处理我的用户,这是Facebook SDK for IOS的​​错误吗?

谢谢你的帮助!

jef*_*fjv -1

我还发现取消时永远不会调用 sharerDidCancel。

您可以像 Tejvansh 建议的那样执行操作,但检查结果是否为零将不起作用,因为当用户取消时它不是零,而是空的。

我这样做的方法是检查键“postId”是否存在,在这种情况下帖子成功,否则我假设用户取消了。

斯威夫特的例子:

func sharer(sharer: FBSDKSharing!, didCompleteWithResults results: [NSObject : AnyObject]!) {
    println("sharing results \(results)")
    if results["postId"] != nil {
        println("shared")
    } else {
        println("canceled")
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 即使在成功发布后,结果[“postId”]对我来说也是零。对于已取消的帖子和成功的帖子,结果字典都是空的。 (4认同)
  • 如果您通过本机 Facebook 应用程序分享,postId 将不会出现 (2认同)