我最近在折腾网狐荣耀的微信登录功能
打包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
//www.greatytc.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