最近接到了一个分享多张图片到微信,微博,等平台的需求。项目里用的是友盟分享,但其并不支持分享多张图片。自然就想到了 UIActivityViewController ,最后分享是成功了,但在使用过程中遇到了几个坑点,记录一下:
最初的方案是直接分享UIImage:
self.activityViewController = [[UIActivityViewController alloc] initWithActivityItems:self.imagesArray applicationActivities:nil];
[self presentViewController:self.activityViewController animated:YES completion:nil];
测试了微信,QQ,钉钉等平台,都是正常的,但到新浪微博的时候却每次只能分享一张,而且是不固定的,好像是随机选的一张。猜测是图片导致内存过大,超过了系统的限制。
后来找了一种方法,需要先把图片存到本地,然后利用图片路径地址和图片文件构造 ActivityItems ,最终完美分享。代码如下:
构造 ActivityItem Model:
@interface PXAgileShareItem : NSObject