使用步骤
-
官方开发平台注册应用,一般3天左右通过
-
pod安装SDK
pod WechatOpenSDK
-
在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id
URL type添加在微信开发平台注册的AppKey -
实现相关方法和遵守协议
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
添加 APPID 是你在微信平台注册的程序里的
[WXApi registerApp:appId];
return YES;
}
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [WXApi handleOpenURL:url delegate:self];
}
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
return [WXApi handleOpenURL:url delegate:self];
}
-(void)onReq:(BaseReq *)req
{
}
// 从微信分享过后点击返回应用的时候调用
- (void)onResp:(BaseResp *)resp
{
}
这是我简单封装了一下微信分享的SDK SFWeChatShareManager使用简单方便
分享网页链接的使用
/**
分享网页
@param title 标题
@param description 描述
@param thumbImage 缩略图
@param webpageUrl 链接
@param type 分享类型 0:聊天界面 1:朋友圈 2:收藏
*/
+ (void)shareToWechatWithWebTitle:(NSString *)title
description:(NSString *)description
thumbImage:(UIImage *)thumbImage
webpageUrl:(NSString *)webpageUrl
type:(NSUInteger)type
{
WXMediaMessage *message = [WXMediaMessage message];
message.title = title;
message.description = description;
[message setThumbImage:thumbImage];
WXWebpageObject *webpageObject = [WXWebpageObject object];
webpageObject.webpageUrl = webpageUrl;
message.mediaObject = webpageObject;
[self sendToWechatWithBText:NO message:message scene:type];
}
/**
* 发送请求给微信
* bText: 发送的消息类型
* message: 多媒体消息结构体
* scene: 分享的类型场景
**/
+ (void)sendToWechatWithBText:(BOOL)bText message:(WXMediaMessage *)message scene:(NSUInteger)scene
{
SendMessageToWXReq *req = [[SendMessageToWXReq alloc]init];
req.bText = bText;
req.message = message;
req.scene = (int)scene;
[WXApi sendReq:req];
}
文件中还封装了分享图片、视频、文字、音乐,就不一一介绍了。可下载下来直接拖入工程中使用
demo链接:https://github.com/gzc453645620/CodeData/tree/master/WeChatShare
注意:
- 缩略图大小不能超过32K
- 我们的项目中有两个部门的业务都用到了微信,但是appid不一样所以每次调用微信功能的时候都registerApp一次,因为如果在appDelegate注册两次的话,后者会把前者覆盖。
- 在注册registerApp之后再调用isWXAppInstalled否则会一直返回NO
isWXAppInstalled 返回NO
网友评论