iOS 微信分享 WeChat share

准备工作
a. 添加微信 SDK 去官网下载自己根据步骤一步一步配置
https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_CN
b. pod 'WechatOpenSDK'
建议使用 pod 原因你懂的

pch 文件中添加

 #import 

APPDelegate.m 文件中

首先遵守   

然后在
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    添加  APPID 是你在微信平台注册的程序里的
    [WXApi registerApp:appId enableMTA:false];
    
    return YES;
}
iOS 微信分享 WeChat share_第1张图片
95CFBF39-2955-431B-B19E-2FD346E8FA05.png
添加重写
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    
    return [WXApi handleOpenURL:url delegate:self];
}

-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options {
    
    return [WXApi handleOpenURL:url delegate:self];
}



-(void)onReq:(BaseReq *)req {
    
    
}
// 从微信分享过后点击返回应用的时候调用
- (void)onResp:(BaseResp *)resp {
    
    //把返回的类型转换成与发送时相对于的返回类型,这里为SendMessageToWXResp
    SendMessageToWXResp *sendResp = (SendMessageToWXResp *)resp;
    
    //使用UIAlertView 显示回调信息
    NSString *str = [NSString stringWithFormat:@"%d",sendResp.errCode];
    UIAlertView *alertview = [[UIAlertView alloc] initWithTitle:@"回调信息" message:str delegate:self cancelButtonTitle:@"确认" otherButtonTitles:nil, nil];
    [alertview show];
/*  WXSuccess           = 0,    /**< 成功    */
    WXErrCodeCommon     = -1,   /**< 普通错误类型    */
    WXErrCodeUserCancel = -2,   /**< 用户点击取消并返回    */
    WXErrCodeSentFail   = -3,   /**< 发送失败    */
    WXErrCodeAuthDeny   = -4,   /**< 授权失败    */
    WXErrCodeUnsupport  = -5,   /**< 微信不支持    */
*/
}

设置从微信返回 你的 APP


2D868594-8E34-4FE5-89AD-7FA9B63602A6.png

2 . 分享一个链接

static NSString *kLinkURL = @"http://www.jianshu.com/u/c693e77d617c";

    static NSString *kLinkTitle = @"我的主页";
    static NSString *kLinkDescription = @"里面是一些自己总结的小知识点";
    
    SendMessageToWXReq *req1 = [[SendMessageToWXReq alloc]init];
    
// 是否是文档
    req1.bText =  NO;

    //    WXSceneSession  = 0,        /**< 聊天界面    */
    //    WXSceneTimeline = 1,        /**< 朋友圈      */
    //    WXSceneFavorite = 2,
    
    
    req1.scene = WXSceneSession;
    
    //创建分享内容对象
    WXMediaMessage *urlMessage = [WXMediaMessage message];
    urlMessage.title = kLinkTitle;//分享标题
    urlMessage.description = kLinkDescription;//分享描述
    [urlMessage setThumbImage:[UIImage imageNamed:@"XXshar"]];//分享图片,使用SDK的setThumbImage方法可压缩图片大小
    
    //创建多媒体对象
    WXWebpageObject *webObj = [WXWebpageObject object];
    webObj.webpageUrl = kLinkURL;//分享链接
    
    //完成发送对象实例
    urlMessage.mediaObject = webObj;
    req1.message = urlMessage;
    
    //发送分享信息
    [WXApi sendReq:req1];

分享音乐

SendMessageToWXReq *req1 = [[SendMessageToWXReq alloc]init];
    
// 是否是文档
    req1.bText =  NO;

    //    WXSceneSession  = 0,        /**< 聊天界面    */
    //    WXSceneTimeline = 1,        /**< 朋友圈      */
    //    WXSceneFavorite = 2,
    
    
    req1.scene = WXSceneSession;
    
    //创建分享内容对象
    WXMediaMessage *urlMessage = [WXMediaMessage message];
    urlMessage.title = @"分享一首歌";//分享标题
    urlMessage.description = @"一首小歌,放松一下";//分享描述
    
    [urlMessage setThumbImage:[UIImage imageNamed:@"XXshar"]];//分享图片,使用SDK的setThumbImage方法可压缩图片大小
    
    //创建多媒体对象
    
    static NSString *kLinkURL = @"http://bd.kuwo.cn/yinyue/718535?from=baidu";

    WXMusicObject *music = [WXMusicObject object];
    music.musicUrl = kLinkURL;//分享链接
    
    //完成发送对象实例
    urlMessage.mediaObject = music;
    req1.message = urlMessage;
    
    //发送分享信息
    [WXApi sendReq:req1];

分享视频

   SendMessageToWXReq *req1 = [[SendMessageToWXReq alloc]init];
    
// 是否是文档
    req1.bText =  NO;

    //    WXSceneSession  = 0,        /**< 聊天界面    */
    //    WXSceneTimeline = 1,        /**< 朋友圈      */
    //    WXSceneFavorite = 2,
    
    
    req1.scene = 0;
    
    //创建分享内容对象
    WXMediaMessage *urlMessage = [WXMediaMessage message];
    urlMessage.title = @"分享视频";//分享标题
    urlMessage.description = @"小视频";//分享描述
    
    [urlMessage setThumbImage:[UIImage imageNamed:@"XXshar"]];//分享图片,使用SDK的setThumbImage方法可压缩图片大小
    
    //创建多媒体对象
    
    static NSString *kLinkURL = @"http://baidu.wasu.cn/kan/a9OrA?fr=v.baidu.com/browse";

     WXVideoObject *video = [WXVideoObject object];
    video.videoUrl = kLinkURL;//分享链接
    
    //完成发送对象实例
    urlMessage.mediaObject = video;
    req1.message = urlMessage;
    
    //发送分享信息
    [WXApi sendReq:req1];

分享图片

 WXMediaMessage *message = [WXMediaMessage message];
    // 设置消息缩略图的方法
    [message setThumbImage:[UIImage imageNamed:@"图片.png"]];
    // 多媒体消息中包含的图片数据对象
    WXImageObject *imageObject = [WXImageObject object];
    
    UIImage *image = [UIImage imageNamed:@"要分享的图片名"];

    // 图片真实数据内容
    
            NSData *data = UIImagePNGRepresentation(image);
    imageObject.imageData = data;
    // 多媒体数据对象,可以为WXImageObject,WXMusicObject,WXVideoObject,WXWebpageObject等。
    message.mediaObject = imageObject;
    
    SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
    req.bText = NO;
    req.message = message;
    req.scene = WXSceneTimeline;// 分享到朋友圈
    [WXApi sendReq:req];

你可能感兴趣的:(iOS 微信分享 WeChat share)