美文网首页
微信分享和QQ分享(海报)

微信分享和QQ分享(海报)

作者: 杰小冷_4957 | 来源:发表于2024-05-13 13:58 被阅读0次

学而时习之,不亦悦乎,大家好,我是张杰。
最近新APP需要用到微信分享和QQ分享,虽然好多年年做过,这次实现的过程中还是有些知识点需要更新,下面来一起走一遍吧

一、注册平台

1、微信开放平台
https://open.weixin.qq.com
这个比较简单,注册申请 参考我原来写的 https://www.jianshu.com/p/0e39052f461e

2、QQ就有绕了,有腾讯开放平台:https://open.tencent.com 和qq互联https://connect.qq.com
要先去腾讯开放平台注册账号,然后登录qq互联就可以用了,要是先注册qq互联开发者认证基本通过不了,还是得到腾讯开放平台去处理。

WeChatabcd5e07eea20ada2d98e609b253a2a9.jpg 2051715664189_.pic.jpg

账号注册好,开发者认证通过后就可以开始创建移动应用了,创建移动应用的的时候需要填写的资料要先准备好:

创建:填写名称、说明、100*100的app icon准备好,填写完了就可以看到app ID了,记得要记下来后面要用到

提交:

URL Scheme 填写 QQ+创建的移动应用ID换16进制 (要是创建的时候没记下来就随便填一个等审核通过了在改,我提交的想返回看网页直接提交了,不让修改了)

bundle id app的

Universal Links 如果配置了就填配置的,没有配置的话先填一个


6191715408064_.pic.jpg

至此账号配置就告一段落了。

二、项目配置

1、先加白名单


WeChat259ecc3a102f5fdea58f8aae34036388.jpg

2、配置


WeChat90a30a493288043b4453d7a6e0e03310.jpg

3、这个在创建bundle id的要勾选的,也可以后面勾选


WeChatdc37c932df10fc97dc43c1830bb64625.jpg

4、sdk倒入,这个不多讲了,文档里有
微信看:https://www.jianshu.com/p/0e39052f461e
QQ看:https://wiki.connect.qq.com/sdk下载
https://wiki.connect.qq.com/ios_sdk环境搭建

5、代码配置

在AppDelegate加头文件

#import <TencentOpenAPI/TencentOAuth.h>
#import <TencentOpenAPI/QQApiInterface.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[WXApi registerApp:@"111111111" universalLink:@"自己的"];
TencentOAuth * tencentOAuth = [[TencentOAuth alloc] initWithAppId:@"11111111" andUniversalLink:@"自己的" andDelegate:self];
}

代理有问题就自己加一下

6、使用
微信

//    UIImage *image = [UIImage imageNamed:@"个人中心背景"];
//    NSData * imageData = UIImageJPEGRepresentation(image, 0.7);
//       
//    WXImageObject *imageObject = [WXImageObject object];
//    imageObject.imageData = imageData;
//
//    WXMediaMessage *message = [WXMediaMessage message];
//    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"res5"
//                                                         ofType:@"jpg"];
//    message.thumbData = [NSData dataWithContentsOfFile:filePath];
//    message.mediaObject = imageObject;
 //
 //    SendMessageToWXReq *req = [[SendMessageToWXReq alloc] init];
 //    req.bText = NO;
//    req.message = message;
//    req.scene = WXSceneSession;
////    [WXApi sendReq:req];
//    [WXApi sendReq:req completion:^(BOOL success) {
//
//    }];

QQ

         UIImage *image = [UIImage imageNamed:@"个人中心背景"];
         NSData * imageData = UIImageJPEGRepresentation(image, 0.7);
         QQApiImageObject *aa = [QQApiImageObject objectWithData:imageData previewImageData:imageData title:@"" description:@""];
        SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:aa];
        QQApiSendResultCode sent = [QQApiInterface sendReq:req];

至此你可以拉起微信和qq分享图片了

*如果要分享的是海报给大家提供个思路,因为每个需求都不一样
1、做一个海报的view
2、将海报的view转成图片
swift代码

//分享界面转image
func interfaceToImage(_ view: UIView) -> UIImage? {
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, false, 0.0)
    view.drawHierarchy(in: view.bounds, afterScreenUpdates: true)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return image
}

OC代码

- (UIImage *) interfaceToImage:(UIView *)view withSize:(CGSize)size
{
UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;

}

3、分享出去的时候把这个图片转成data给微信或者qq就可以了

相关文章

网友评论

      本文标题:微信分享和QQ分享(海报)

      本文链接:https://www.haomeiwen.com/subject/cbspfjtx.html