UIActivityController 在 Facebook 上分享时不报告文字和图片

Posted

技术标签:

【中文标题】UIActivityController 在 Facebook 上分享时不报告文字和图片【英文标题】:UIActivityController does not report the text and image when sharing on Facebook 【发布时间】:2016-08-06 14:23:27 【问题描述】:

我有一段简单的代码可以显示多个社交渠道的共享对话框:

let text = String(format:NSLocalizedString("I %@ with the Dhammapada verse \"%@\"", comment:"$ to be composed with $$"), part, verse)
let url = URL(string:"http://www.ipuja.net")
let image = buddhanetImage.image ?? UIImage(named:"Icon-72")
let shareController=UIActivityViewController(activityItems:[text, url!, image!], applicationActivities:nil)
shareController.excludedActivityTypes = [UIActivityTypeAssignToContact, UIActivityTypeAddToReadingList,UIActivityTypePostToVimeo];

if (UI_USER_INTERFACE_IDIOM() == .pad)
    shareController.popoverPresentationController?.sourceView = self.buddhanetImage;
    
self.present(shareController, animated:true, completion:nil)

然而,该工具在 Google 和 Twitter 上运行良好,但当我尝试在 Facebook 上分享内容时,只显示 url,没有任何图像文本。 我检查了在照片和其他第三方应用程序上执行此操作是否允许显示完整的内容,即使是 Facebook 也是如此,那么我的代码中缺少什么才能使其正常工作?

【问题讨论】:

【参考方案1】:

当从第三方应用程序分享到 Facebook 时,URL 将覆盖 textimage。删除URL,就会出现imagetext。此外,如果您的 text 中有多个主题标签,则只会应用第一个主题标签。

ios 9 之前,可以使用 textimageURL 预填充 Facebook 共享对话框。在 iOS 9 发布后,在分享到 Facebook 时预填充任何字段是完全不可能的。在 iOS 9.3 前后的某个时候,他们重新启用了预填充字段,但无法预填充所有字段。

【讨论】:

这不好,因为网址是用于营销目的。无论如何,我会尝试,手动输入 URL,等待最终自动为所有字段工作。 我删除了网址,实际上现在图像显示了,但文字仍然丢失。

以上是关于UIActivityController 在 Facebook 上分享时不报告文字和图片的主要内容,如果未能解决你的问题,请参考以下文章

更改 UIActivityController 的标题文本颜色

根据选定的活动共享不同的内容 - UIActivityController

UIActivityController 分享 URL 文件

UIActivityController 在 Facebook 上分享时不报告文字和图片

UIActivityController 共享表为空白

如何使用 UIActivityController 在 whatsapp 上共享文本和图像(两者):Objective C?