通过 URL 分享图片

Share Image Via URL

我正在使用 json 从我的 WordPress 网站创建图像应用程序,我正在使用 swift,我想从我的应用程序在社交网络上分享图像,目前我尝试了这段代码,但它有效只有图像名称我想分享来自图像 url 的图像,这可能吗?

这是我的代码

 let myWebsite = NSURL(string: "nice")

           let img: UIImage = UIImage(named:"splash")!

           guard let url = myWebsite else {
               print("nothing found")
               return
           }

           let shareItems:Array = [img,url]
           let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil)
        activityViewController.excludedActivityTypes = [UIActivity.ActivityType.print, UIActivity.ActivityType.postToWeibo, UIActivity.ActivityType.copyToPasteboard, UIActivity.ActivityType.addToReadingList, UIActivity.ActivityType.postToVimeo]
        self!.present(activityViewController, animated: true, completion: nil)

如果您需要下载图像然后分享,您应该单独进行,没有一种方法可以为您完成。方法如下:

func shareImageFromUrl(_ string: String) {

    guard let myUrl = URL(string: string) else {
        print("Invalid url!")
        return
    }

    URLSession.shared.dataTask(with: myUrl) { (data, _, _) in
        guard let data = data,
            let image = UIImage(data: data) else
        { return }

        let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: [image], applicationActivities: nil)
        activityViewController.excludedActivityTypes = [UIActivity.ActivityType.print, UIActivity.ActivityType.postToWeibo, UIActivity.ActivityType.copyToPasteboard, UIActivity.ActivityType.addToReadingList, UIActivity.ActivityType.postToVimeo]
        DispatchQueue.main.async {
            self.present(activityViewController, animated: true, completion: nil)
        }
    }.resume()
}