ios - 通过 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()
}
推荐阅读
- html - 选中子单选按钮时为父标签元素设置样式
- python-3.x - 如何将标签附加到输入管道
- python - 在pygame中将矩形转换为曲面
- typescript - Graphql Schema 类型错误指示重复类型,它没有?
- dart - 构建列表视图中的颤振列表视图错误
- spring-boot - Spring Boot RestController + Jackson:将 JSONObject 数组反序列化为 Map
- java - 检测类类型并重定向到正确的方法
- python - DRF 中的异步请求错误
- django - Django 多对多字段查询
- java - OptaPlanner 中无法解释的 NPE