美文网首页ios实用开发技巧
iOS App(应用)间的通讯 之图文分享到微信好友朋友圈

iOS App(应用)间的通讯 之图文分享到微信好友朋友圈

作者: 我们只是GitHub的搬运工 | 来源:发表于2017-09-15 16:35 被阅读35次

在项目开发过程中有一个需求是将App中的图片分享到微信朋友圈的功能,下面是实现将下载好的图片分享到朋友圈/好友的方法.分享出来给有需要的朋友,或者请大神指点.

这是我另一篇关于递归按序批量下载图片的文章.
上一篇文章讲了如何下载图片,本次将实现将下载的图片通过微信原生扩展(Extension)分享到朋友圈/好友

效果如下

分享效果.PNG
少说话多写代码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 {
        
    }
}

相关文章

网友评论

    本文标题:iOS App(应用)间的通讯 之图文分享到微信好友朋友圈

    本文链接:https://www.haomeiwen.com/subject/gltesxtx.html