ios - 为什么 FBSDK 共享对话框不适用于图像附件?

标签 ios swift facebook facebook-ios-sdk facebook-share

我想在 Facebook 上分享图片,为此我这样做了:

let photo: FBSDKSharePhoto = FBSDKSharePhoto()
photo.image = croppedImage
photo.userGenerated = true
photo.caption = "Add Your caption"

let content: FBSDKSharePhotoContent = FBSDKSharePhotoContent()
content.photos = [photo]

FBSDKShareDialog.showFromViewController(self, withContent: content, delegate: nil)

但它没有向我显示 ShareViewController。但是当我尝试这段代码时:

let content: FBSDKShareLinkContent = FBSDKShareLinkContent()
content.contentURL = NSURL(string: "http://")
content.contentTitle = "App Testing"
content.contentDescription = "I'm working over the app!"

如何修复第一个代码段?

最佳答案

我知道这是一个老问题,但以防万一有人遇到同样的问题:

根据documentation ,您需要安装 native Facebook 应用程序才能使用 FBSDKSharePhotoContent,在这种情况下您不能使用 FBSDKShareDialog

实现几乎相同结果的解决方法是使用 FBSDKShareDialog(仅支持 FBSDKShareLinkContent),如下所示:

let content: FBSDKShareLinkContent = FBSDKShareLinkContent()
content.imageURL = URL(string: "www.example.com/my_image.jpg")
content.contentURL = URL(string: "www.example.com/target_url")
content.contentTitle = "My Title"
content.contentDescription = "My Description"

let dialog: FBSDKShareDialog = FBSDKShareDialog()
dialog.fromViewController = self
dialog.delegate = self      // make sure to conform to FBSDKSharingDelegate protocol
dialog.shareContent = content
if !dialog.canShow() {
    // fallback to non-native mode
    dialog.mode = .feedBrowser
}
dialog.show()

您可以找到协议(protocol)的方法 here .

关于ios - 为什么 FBSDK 共享对话框不适用于图像附件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35407525/

相关文章:

ios - 如何以正确的方向旋转图像

ios - cv::Mat 与 UIImageView 宽度不匹配?

ios - 如何删除单元格内容的左填充?

ios - 奇怪的 CoreData 错误...从 insertNewObjectForEntityForName : appears to be corrupt 返回的值

swift - UIStackView 不改变宽度

swift - 鼠标按下行为的第一响应者 NSControl 和 NSView

javascript - 阻止了具有 origin "http://static.ak.facebook.com"的框架访问具有 origin 的框架

ruby-on-rails - 修复 Rails oauth facebook x-frame-options 同源错误

ios - 如何将按钮水平设置在中心

android - 获取 facebook 相册和封面照片