gpt4 book ai didi

ios - Swift 中的社交分享

转载 作者:行者123 更新时间:2023-11-28 06:19:42 26 4
gpt4 key购买 nike

我正在编写一个功能,当单击按钮时生成屏幕截图,然后让您在 Twitter、Instagram 和 Facebook 上分享这张照片。 所以我有一个适用于除 Instagram 之外的所有应用程序的功能:

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

if let text = sharingText {
sharingItems.append(text as AnyObject)
}
if let image = sharingImage {
sharingItems.append(image)
}
let activityViewController = UIActivityViewController(activityItems: sharingItems, applicationActivities: nil)

activityViewController.excludedActivityTypes = [UIActivityType.addToReadingList, UIActivityType.print, UIActivityType.assignToContact, UIActivityType.copyToPasteboard]

self.present(activityViewController, animated: true, completion: nil)
}

还有Instagram分享功能:

var docController: UIDocumentInteractionController!

func documentsDirectory() -> String {
return NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
}

func postImageToInstagram(sharingImage: UIImage?) {



let instagram = URL(string: "instagram://app")!


if UIApplication.shared.canOpenURL(instagram) {


let imageURL = URL(fileURLWithPath: documentsDirectory())

let fullPath = imageURL.appendingPathComponent("instagram.igo")

do {
try UIImagePNGRepresentation(sharingImage!)!.write(to: fullPath)

let rect = CGRect(x: 0, y: 0, width: 0, height: 0)

let igImageHookFile = URL(string: "file://\(fullPath)")

docController = UIDocumentInteractionController(url: igImageHookFile!)

docController.uti = "com.instagram.photo"
docController.presentOpenInMenu(from: rect, in: self.view, animated: true)
} catch {
print(error)
}
}
else {
print("Instagram not installed")
}

}

如何一起使用?因为它们只能单独工作...

最佳答案

我发现 Instagram 未包含在默认的 UIActivityViewController 事件中,这有点烦人。但这并不意味着您不能为 Instagram 添加自己的 UIActivity 以及您已经必须在已经创建的方法中发布到 Instagram 的逻辑。参见 this从 SO 发布关于如何创建自己的 UIActivity 的文章。它甚至包含一个指向精美 GitHub 存储库的链接,该存储库具有针对大多数遗漏的社交服务(包括 Instagram)的自定义 UIActivity

关于ios - Swift 中的社交分享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44030307/

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