【网狐荣耀】微信IOS登录、分享、sdk升级

我最近在折腾网狐荣耀的微信登录功能

打包android后,一切正常,正常的情况包括

游戏逻辑、微信登录、微信分享、

但是打包IOS后,遇到诸多问题

主要的大问题是手里的网狐荣耀版本用的友盟sdk是5.2的

友盟5.2的用的微信sdk是 不支持ios9.0以上的

apk用微信登录直接弹不出微信授权界面

通过多方排查,最终在友盟官网发现了更新日志,最终确定是微信iossdk的问题

于是想过升级友盟SDK,下载好最新的版本后发现,友盟SDK5.x的跟6.x的完全是俩个架构

原因是苹果禁止热更新的时候,通告过友盟,友盟为了迎合苹果,干掉了一些功能,直接重构版本了

所以升级友盟sdk版本的路子走不通了,(功底深厚的可以,费时间)

于是想到,直接把友盟的sdk干掉,自己手动接吧

说干就干

先要找到项目调用微信sdk的诸多地方

AppController.mm

所有的sdk对接都在这个脚本中,找到相应的,替换就ok了

网狐荣耀项目就不多讲了

下面讲讲微信API

微信sdk升级 第一步

替换OpenUrl

微信sdk 新版本废弃掉了之前冗余的api

https://www.jianshu.com/p/0869f45a48f6

这样,请求微信,才会有resq回调触发

-(void)onResp:(BaseResp*)resp{}

接着讲微信请求

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

sendReq.bText = YES;//YES=纯文字,NO=非纯文字(图片、音乐、网页等)

sendReq.scene = 0; //0=朋友,1=朋友圈

这个是“第三方程序发送消息至微信终端程序的消息结构体”

下面将创建分享内容

WXMediaMessage *message = [WXMediaMessage message];

message.title = @"陕北麻将馆";

message.description = @"咱陕北人自己的麻将馆";

下一句是重点

微信分享朋友圈图片,点击分享后没有任何反应,通过查帖子,很多人说 微信限制不能超过30kb,

那么有人要问了,别人哪些高清图怎么分享出来的。

其实很多帖子有个误区,没把官方文档看清楚,或者是官方文档没说明白

限制30kb大小的是 setThumbImage 这个方法,在朋友圈分享出去后,其他人看到的是这张图

这个名字叫缩略图。30KB的限制确实说的过去、

那么高清图呢?

[message setThumbImage:[UIImage imageNamed:@"Icon"]];// 

WXImageObject *shareImage = [WXImageObject object];

高清图在这里,

其他人在看到你分享的缩略图后,会点击缩略图

然后微信通过高清图路径,下载到本地,然后全屏展示出来了

点击缩略图的过程中,你会看到loading条。

shareImage.imageData = [NSData dataWithContentsOfFile:@"Icon"];//这是分享的大图,没有任何限制

要发送的资源准备完后,就开始准备发送

把上面俩个定义好的消息结构,指给SendMessageToWXReq

message.mediaObject = shareImage;

sendReq.messge = message;

[WXApi sendReq:sendReq];

至此,不出意外的话,客户端就跳转微信了

下面再讲下 跳转网页的方法

声明一个网页结构体,指给SendMessgeToWX就好了

WXWebpageObject *webObj = [WXWebpageObject object];

具体参数 看官网的把,这里就不细说了

有问题请教可以加群 565170720 

你可能感兴趣的:(【网狐荣耀】微信IOS登录、分享、sdk升级)