适用于iOS的Facebook SDK:未显示FBSDKShareDialog

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了适用于iOS的Facebook SDK:未显示FBSDKShareDialog相关的知识,希望对你有一定的参考价值。

我是ios的新手,我想使用Facebook SDK for iOS共享链接。我的代码如下:

@IBAction func shareVoucherUsingFacebook(sender: UIButton) {
    print("Facebook")
    let content : FBSDKShareLinkContent = FBSDKShareLinkContent()
    content.contentURL = NSURL(string: "www.google.com")
    content.contentTitle = "Content Title"
    content.contentDescription = "This is the description"

    let shareDialog: FBSDKShareDialog = FBSDKShareDialog()

    shareDialog.shareContent = content
    shareDialog.delegate = self
    shareDialog.fromViewController = self
    shareDialog.show()

}

我也实现了FBSDKSharingDelegate方法,但是当我按下这个按钮时,我无法接收共享对话框,并且正在执行func sharer(sharer: FBSDKSharing!, didFailWithError error: NSError!)方法,这意味着出现了问题,但我无法弄明白。

提前致谢。

答案

改变这条线

content.contentURL = NSURL(string: "www.google.com")

content.contentURL = NSURL(string: "https:\www.google.com")

和我一起工作

这是我使用的委托方法

func sharer(sharer: FBSDKSharing!, didCompleteWithResults results: [NSObject: AnyObject])
{
    print(results)
}

func sharer(sharer: FBSDKSharing!, didFailWithError error: NSError!)
{
    print("sharer NSError")
    print(error.description)
}

func sharerDidCancel(sharer: FBSDKSharing!)
{
    print("sharerDidCancel")
}
另一答案

如果你在代码中使用http://,请记住将contentURL添加到你的NSURL(string:"")

let content : FBSDKShareLinkContent = FBSDKShareLinkContent()
content.contentURL = NSURL(string: "http://www.google.com")
content.contentTitle = "Content Title"
content.contentDescription = "This is the description"

FBSDKShareDialog.showFromViewController(self, withContent: content, delegate: self)
另一答案

实现委托方法对我来说很有用

以上是关于适用于iOS的Facebook SDK:未显示FBSDKShareDialog的主要内容,如果未能解决你的问题,请参考以下文章

适用于 iOS 的 Facebook SDK v4.0 - 未设置 FBSDKProfile currentProfile

读取权限后直接请求发布权限 - 适用于 iOS 6 的 Facebook SDK

Unity Facebook SDK FB.Feed 未发布

如何使用iOS SDK在FB中获取用户的所有朋友

适用于 iOS 4.0 的 Facebook sdk

通过 FB SDK for iOS 将视频分享到 facebook