是否可以通过分配到 FB 的链接共享 UI 图像?

Posted

技术标签:

【中文标题】是否可以通过分配到 FB 的链接共享 UI 图像?【英文标题】:Is it possible to share UI Image with assigned link to FB? 【发布时间】:2016-01-27 22:39:33 【问题描述】:

我的应用程序建议用户分享一些收集到一个 UIImage 的结果(到达应用程序内部)(所以这不是具有已知 URL 的图像)

我希望共享者也分享到某个页面的链接(比如说“***.com”)

问题是,如果我向控制器添加链接,共享控制器不会显示 UIImage(显示页面徽标或 sn-p),否则正确显示没有链接的 UIImage。

我使用 SLComposeViewController,但这不是强制性的。 由于this issue,我无法使用 FBSDKShareButton(如果需要)。 FBSDKSharingDialog 不接受 UIImages

代码:

//image : UIImage    
let fbShareController: SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
fbShareController.addImage(image) 
fbShareController.addURL(NSURL(string: "www.***.com"))

self.presentViewController(fbShareController, animated: true, completion: nil)

这是新的 Facebook 政策,还是我的问题?

感谢您的帮助。

【问题讨论】:

【参考方案1】:

SLComposeViewController 无法满足您的要求。

原因是当您添加图片时,它会作为图片附加到帖子中。但是,当您添加 URL 时,SLComposeViewController 的私有实现(或 Facebook 的后端服务 ..很难说是哪一个)接管并解析 URL 并提供适当的图像(如果解析 URL 内容后可用)补充链接。 然后该帖子变成带有不显示本地附加图像的 URL 的帖子。

【讨论】:

嗯,谢谢,但是我能做什么呢?本机共享对话框无济于事,因为我不知道我的图片的 URL(并且将图片保存在某处似乎很头疼) 这根本不可能。如果您希望图像与公共 URL 一起使用,则必须公开托管图像,拥有其 URL 并向控制器提供 URL。 感谢您的评论。听起来很正常,在简单的 html 中,您无法在没有 Url 的情况下发布图像。有趣的是,我的 UIImage 是如何传递给 Facebook 提要的。如果它保存在某个地方,将我的链接添加到最终帖子有什么问题?保存UIImage的时候Url来FB,加个href标签没什么大不了的。 这是一个不同的问题。 Afaik 大约在 FB 应用程序版本等 30 FB 改变了它的策略,并且不可能为对话框设置任何初始文本。该方法存在,但它不适用于 facebook 社交活动,尽管它仍然适用于 twitter。我认为这与保护用户免受流氓应用程序在用户帖子中传递不受欢迎的内容有关。 此外,如果您通过 api 同时提供 url 和图像,则图像将被忽略,并且 url 优先,这是 fb 部分的设计/业务决策。

以上是关于是否可以通过分配到 FB 的链接共享 UI 图像?的主要内容,如果未能解决你的问题,请参考以下文章

使用 mini_fb gem 显式禁用图像共享到 facebook

没有链接的 Facebook 共享对话框

facebook - 获取点击 FB 共享链接的用户的上下文

通过 UIActivityViewController 共享的 Gif 在(至少)fb、twitter、notes 中以静态图像的形式出现

与 FB.ui 共享 Facebook 页面

UIActivityViewController 仅用于 FB、Twitter 和 Mail 共享图像,但不用于消息