iOS系统分享多张图片到微信朋友圈
最近有个需求,要分享多张图片到微信朋友圈。导入微信SDK,看了下微信的接口,各种限制,根本没办法搞。BOSS一定要实现,没办法只能折腾了。 最后通过系统级别的分享UIActivityViewController
来实现了这个功能。
这个类很简单头文件总共也就几个初始化方法和回调。支持6.0以上的系统。初始化然后弹出视图就OK了。直接上代码了。
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)
})
SDWebImage
来显示图片就没另外写图片下载功能。分享的时候直接取SDWebImageView
图片缓存activityItems
里面的元素为UIImage
或者NSURL
的时候经常失败。只能分享一次,重新打开App后才能继续分享.从本地沙盒读到图片这样成功率最高没办法添加文字。暂时能通过复制粘贴的方式实现。
在
Swift
出3.0前又重新体验了下。比Objective C
写起来要爽。Swift
从精通到重新入门.😬😰