gpt4 book ai didi

ios - 无法使用 UIActivityViewController 在 Facebook 中共享屏幕截图和 URL

转载 作者:搜寻专家 更新时间:2023-11-01 05:38:54 27 4
gpt4 key购买 nike

我正在使用 UIActivityViewController 来共享文本、屏幕截图和 URL。它适用于 Twitter、电子邮件、SMS 等。事实上,除了 Facebook 之外的所有内容。

据我了解,Facebook 不再允许共享预填文本,因此我希望只共享屏幕截图和 URL。但是当用户选择 Facebook 时,出现的图像是直接从 URL 中获取的图像,而不是我指定的图像(即屏幕截图)。 Here is a screenshot当我使用 www.google.com 作为 URL 时会发生什么。

如果我不包含 URL,那么屏幕截图看起来很好,但实际上它只是分享一张照片(这就是它在 Facebook 上的显示方式,说“John Doe 添加了一张新照片”,然后是我的屏幕截图示)。无论我是否登录 Facebook 应用,这一切都会发生。

这是我的代码:

@IBAction func shareButton(sender: AnyObject) {
// Get screenshot
UIGraphicsBeginImageContextWithOptions(UIScreen.mainScreen().bounds.size, false, 0)
self.view.drawViewHierarchyInRect(view.bounds, afterScreenUpdates: true)
let screenshot:UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

let textToShare = "My text here"
let myWebsite = NSURL(string: "http://www.example.com/")

socialShare(sharingText: textToShare, sharingImage: screenshot, sharingURL: myWebsite)
}

然后:

func socialShare(sharingText sharingText: String?, sharingImage: UIImage?, sharingURL: NSURL?) {
var sharingItems = [AnyObject]()

if let text = sharingText {
sharingItems.append(text)
}

if let image = sharingImage {
sharingItems.append(image)
}

if let url = sharingURL {
sharingItems.append(url)
}

let activityViewController = UIActivityViewController(activityItems: sharingItems, applicationActivities: nil)

// Excluded sharing options
activityViewController.excludedActivityTypes = [UIActivityTypeCopyToPasteboard,UIActivityTypeAirDrop,UIActivityTypeAddToReadingList,UIActivityTypeAssignToContact,UIActivityTypePostToTencentWeibo,UIActivityTypePostToVimeo,UIActivityTypePrint,UIActivityTypePostToWeibo]

// The popover needs additional code to work on iPad, so distinguish between iPhone & iPad
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiom.Phone) { // If iPhone
self.presentViewController(activityViewController, animated: true, completion: nil)
} else { // If iPad
let popoverCntlr = UIPopoverController(contentViewController: activityViewController)
popoverCntlr.presentPopoverFromRect(CGRectMake(self.view.frame.size.width - 40, 80, 0, 0), inView: self.view, permittedArrowDirections: UIPopoverArrowDirection.Up, animated: true) // position where the popover appears
}
}

那么有人知道如何使用 UIActivityViewController 通过 Facebook 分享屏幕截图和 URL 吗?我怀疑问题是由 Facebook 端引起的,因为 Twitter 等一切正常,但有解决方法吗?

最佳答案

Facebook 禁用了同时共享文本和图像的功能。

关于ios - 无法使用 UIActivityViewController 在 Facebook 中共享屏幕截图和 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33244572/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com