微信分享流程

对于不使用ShareSDK进行的分享,使用微信本身的分享功能,总结起来只需7步即可实现:

1.下载微信SDK;SDK地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319164&token=ca57cbec65da47f5e40484eaa4e541b828584d24&lang=zh_CN

点击下载iOS开发工具包(1.7.7版本)或通过CocoaPods集成;

2.在项目的targets中找到Info列表,在其中的URL Types中添加新的URL Schemes为appid 即:在微信平台注册时申请下来的key一般以wx开头(appId);

3.将下载的SDK包中的 libWeChatSDK.a、WXApi.h、WXApiObject.h导入到项目中;

4.在AppDelegate中导入头文件 #import "WXApi.h" 并遵守 WXApiDelegate 协议;

5.在APPdelegate中根据appId注册微信 :[WXApi registerApp:WXAPPID];

6.在APPDelegate中实现以下代理方法实现微信和app的交互:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;

以上两个方法都是根据 url.scheme 跳转到微信

//微信分享回调:(成功或失败)

-(void)onResp:(BaseResp *)resp;

if (resp.errCode==-2) {//未成功分享

NSLog(@"fail");

} else{//成功分享

NSLog(@"success");

}

7.最后在需要分享的控制器中导入头文件:#import "WXApiObject.h"、#import "WXApi.h"

在需要分享的地方编码:

// 微信分享

WXMediaMessage *message = [WXMediaMessage message];

message.title = @"佳音老师";

message.description = @"一起来加入我们吧!";

WXWebpageObject *webpageObject = [WXWebpageObject object];

webpageObject.webpageUrl = @"网页链接";

message.mediaObject = webpageObject;

SendMessageToWXReq *req = [[SendMessageToWXReq alloc]init];

req.bText = NO;

req.message = message;

// 分享到微信好友 (WXSceneTimeline 分享到朋友圈;WXSceneSession 分享到微信好友)

req.scene = WXSceneSession;

[WXApi sendReq:req];

至此即可轻松实现微信分享功能。

posted @ 2017-06-20 10:43  竹峰拾贝  阅读(1138)  评论(0编辑  收藏  举报