iOS 微信分享功能简单实现

2020-01-18 19:46:04刘景俊

PS:此文以简单实现功能为主,不足之前还望指点,大神勿喷.

在此之前如何申请微信认证的Key就不说了,公司一般会有人搞(自己申请一个也非常的简单)

1.首先下载微信SDK:微信SDK下载地址(更多关于微信SDK信息文档请访问官方网站:微信开放平台)

2.导入微信SDK

将下载下来的SDKExport文件夹导入到工程,其中包含3个核心文件libWeChatSDK.a WXApi.h WXApiObject.h(强烈建议大家看看read-me文件)

iOS,微信,分享

3.在工程Build Phases -> Link Binary With Libraries 链接以下动态库和框架文件

SystemConfiguration.framework libz.dylib libsqlite3.0.dylib CoreTelephony.framework

iOS,微信,分享

4.使用SDK注册你的APP

建议在AppDelegate此方法中注册,导入import "WXApi.h"


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 [WXApi registerApp:@"wx1234567890"];//此为申请下来的key一般以wx开头
 return YES;
}

5.创建发送体并向微信发送分享信息

1)首先我们来看看发送对象的类

iOS,微信,分享

通过该类得知,只能发送文本信息和多媒体信息两者选一,多媒体信息可分为链接类,视频类,音乐类,在此我以链接类为例,实例化此发送对象

2)实例化发送对象


static NSString *kLinkURL = @"http://www.easck.com/zt2012/tmtdecode/252.htm";
static NSString *kLinkTagName = @"WECHAT_TAG_JUMP_SHOWRANK";
static NSString *kLinkTitle = @"专访张小龙:产品之上的世界观";
static NSString *kLinkDescription = @"微信的平台化发展方向是否真的会让这个原本简洁的产品变得臃肿?在国际化发展方向上,微信面临的问题真的是文化差异壁垒吗?腾讯高级副总裁、微信产品负责人张小龙给出了自己的回复。";

- (IBAction)shareBtn:(UIButton *)sender {
//创建发送对象实例
SendMessageToWXReq *sendReq = [[SendMessageToWXReq alloc] init];
sendReq.bText = NO;//不使用文本信息
sendReq.scene = 1;//0 = 好友列表 1 = 朋友圈 2 = 收藏
//创建分享内容对象
WXMediaMessage *urlMessage = [WXMediaMessage message];
urlMessage.title = kLinkTitle;//分享标题
urlMessage.description = kLinkDescription;//分享描述
[urlMessage setThumbImage:[UIImage imageNamed:@"testImg"]];//分享图片,使用SDK的setThumbImage方法可压缩图片大小
//创建多媒体对象
WXWebpageObject *webObj = [WXWebpageObject object];
webObj.webpageUrl = kLinkURL;//分享链接
//完成发送对象实例
urlMessage.mediaObject = webObj;
sendReq.message = urlMessage;
//发送分享信息
[WXApi sendReq:sendReq];
}