iOS微信多图分享到享到朋友圈

iOS系统分享多张图片到微信朋友圈

微信分享多张图片到微信朋圈

最近有个需求,要分享多张图片到微信朋友圈。导入微信SDK,看了下微信的接口,各种限制,根本没办法搞。BOSS一定要实现,没办法只能折腾了。 最后通过系统级别的分享UIActivityViewController来实现了这个功能。

UIActivityViewController

这个类很简单头文件总共也就几个初始化方法和回调。支持6.0以上的系统。初始化然后弹出视图就OK了。直接上代码了。

Code

微信SDK的一些设置就不多说了。

分享到微信的部分代码

self.showHUD()
UIPasteboard.generalPasteboard().string = "微信多图分享到朋友圈"
let imageCache:SDImageCache = SDImageCache.sharedImageCache()
var imageArr:[AnyObject] = []
for imageUrl in self.dataArr {
let imagepath:String = imageCache.defaultCachePathForKey(imageUrl.stringValue)
if NSFileManager.defaultManager().fileExistsAtPath(imagepath) {
    imageArr.append(NSURL.init(fileURLWithPath: imagepath))
 }
}
let activityView: UIActivityViewController = UIActivityViewController.init(activityItems: imageArr, applicationActivities: nil)
 self.hideHUDWithCompletionMessage("分享的内容已经复制到粘贴板", finishedHandler: {
     self.navigationController?.presentViewController(activityView, animated: true, completion: nil)
 })

代码说明

  • dataArr是一个储存图片的数组
  • 使用了SDWebImage来显示图片就没另外写图片下载功能。分享的时候直接取SDWebImageView图片缓存
  • 试了好多次activityItems里面的元素为UIImage或者NSURL的时候经常失败。只能分享一次,重新打开App后才能继续分享.从本地沙盒读到图片这样成功率最高

存在的问题

没办法添加文字。暂时能通过复制粘贴的方式实现。


Swift出3.0前又重新体验了下。比Objective C写起来要爽。Swift从精通到重新入门.😬😰