1、IOS分享到微信好友和微信朋友圈

*步,先检测微信客户端是否存在:

[WXApi isWXAppInstalled]; —  这个方法返回一个bool值,来验证微信客户端是否存在

第二步,跳转到微信界面(好友或者朋友圈):

//创建发送对象实例

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

sendReq.bText = NO;//不使用文本信息

//sendReq.scene = 1;//0 = 好友列表 1 = 朋友圈 2 = 收藏

//创建分享内容对象

WXMediaMessage *urlMessage = [WXMediaMessage message];

urlMessage.title = [NSString stringWithUTF8String:“title”];//分享标题

urlMessage.description = [NSString stringWithFormat:@”%s”, “分享描述”];//分享描述

[urlMessage setThumbImage:[UIImage imageNamed:[NSString stringWithUTF8String:“1.png”]];//分享图片,使用SDK的setThumbImage方法可压缩图片大小

//创建多媒体对象

WXWebpageObject *webObj = [WXWebpageObject object];

webObj.webpageUrl = [NSString stringWithFormat:@”%s”, “www.baidu.coom”];//分享链接

 

//完成发送对象实例

urlMessage.mediaObject = webObj;

sendReq.message = urlMessage;

 

//发送分享信息

[WXApi sendReq:sendReq];

第三步:验证分享回调:

在AppController.mm文件中,实现如下方法:

– (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options NS_AVAILABLE_IOS(9_0) // no equiv. notification. return NO if the application can’t open for some reason

{

if([url.host isEqualToString:@”platformId=wechat”])

{

return [WXApi handleOpenURL:url delegate:self];

}

else

{

return true;

}

}

//上面这个方法针对IOS9以上,但是对于IOS8的系统来说, 要实现下边的方法:

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

{

if(url.host isEqualToString:@”platformId=wechat”])

{

return [WXApi handleOpenURL:url delegate:self];

}

else

{

return true;

}

}

实际上这两个方法只是方法名不一致,内容都是一样的。
然后实现微信分享的回调方法:

-(void)onResp:(BaseResp *)resp

{
if([resp isKindOfClass:[SendMessageToWXResp class]]) {

SendMessageToWXResp *sendResp = (SendMessageToWXResp *)resp;

switch (sendResp.errCode) {

case WXSuccess://分享成功

{

printf(“微信朋友圈分享成功\n”);

break;

}

case WXErrCodeUserCancel://分享取消

{

printf(“微信朋友圈分享取消\n”);

break;

}

case WXErrCodeSentFail://分享失败

{

printf(“微信朋友圈分享失败\n”);

break;

}

default://分享失败

{

break;

}

}

}

然后再进行相应的处理即可。