微信分享流程
对于不使用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];
至此即可轻松实现微信分享功能。