在项目开发过程中有一个需求是将App中的图片分享到微信朋友圈的功能,下面是实现将下载好的图片分享到朋友圈/好友的方法.分享出来给有需要的朋友,或者请大神指点.
上一篇文章讲了如何下载图片,本次将实现将下载的图片通过微信原生扩展(Extension)分享到朋友圈/好友
效果如下
少说话多写代码o(╯□╰)o -苦逼的码农
#pragma mark - 微信原生扩展分享图片
- (void)wxExtensionShare:(NSArray *)imageArray{
//微信扩展 URL Schemes
NSString * serviceType = @"com.tencent.xin.sharetimeline";
SLComposeViewController *composeVC = [SLComposeViewController composeViewControllerForServiceType:serviceType];
// 添加要分享的图片
for ( id obj in imageArray){
if ([obj isKindOfClass:[UIImage class]]){
[composeVC addImage:(UIImage *)obj];
}else if ([obj isKindOfClass:[NSURL class]]){
[composeVC addURL:(NSURL *)obj];
}
}
// 添加要分享的文字
if([composeVC setInitialText:@"初始化"]){
YPCAppLog(@"文本添加成功");
}else{
YPCAppLog(@"初始化文本添加失败");
}
// 弹出分享控制器
composeVC.completionHandler = ^(SLComposeViewControllerResult result){
if (result == SLComposeViewControllerResultDone) {
//点击了发送
}
else if (result == SLComposeViewControllerResultCancelled)
{
//点击了取消
}
};
@try{
[self presentViewController:composeVC animated:YES completion:^{
UIPasteboard *pab = [UIPasteboard generalPasteboard];
NSString *string =@"这里是需要分享出去的文字标题,由于不能直接传递文本过去这边做了取舍使用粘贴板来实现,传递过去的文字需要用户自己粘贴";
[pab setString:string];
if (pab == nil) {
//标题复制失败,分享内容需要自己填写!
}else{
//标题复制成功!
}
}];
} @catch (NSException *exception){
//没有安装
} @finally {
}
}