iOS13适配篇:微信openSDK1.8.6更新导致不能进行微信登录和分享问题解决方案

news/2024/11/24 4:34:33/

微信官方声明:

openSDK1.8.6 由于苹果iOS 13系统版本安全升级,为此openSDK在1.8.6版本进行了适配。 1.8.6版本支持Universal Links方式跳转,对openSDK分享进行合法性校验,提升使用过程中的安全性。 我们建议开发者使用新版本SDK测试时,覆盖测试微信7.0.7版本、iOS12以及苹果新推出的iOS13,以验证所使用的接口的功能性和可用性。

微信开放平台官方更新文档

背景

随着iOS13系统的正式推送,各家第三方SDK都对其或多或少进行了更新适配,但在微信SDK更新后,导致APP突然不能跳转微信进行登录和分享了,本篇文章是适配踩坑之作,供参考。

2019/09/29更新

经过尝试,不知道微信的SDK是怎么更新的,好像并不需要Universal Links支持就可以,大家可尝试一下步骤,如不行继续往下看即可:

  1. 注册时填入“https://”即可(注意:经过尝试,这里的universalLink必须和微信后台填入的一致,直接这样填是不可行的,只是单纯能调起微信,无法分享和登录,建议大家还是按下面步骤来操作吧
[WXApi registerApp:@"xxx" universalLink:@"https://"];
  1. 在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在 “info”标签栏的“LSApplicationQueriesSchemes“添加weixin 和weixinULAPI(如0x1所示)
  2. 在微信后台配置Universal Links,链接符合要求即可。

以上步骤若仍不能解决跳转微信问题,可继续看如下的踩坑之旅。

环境

Xcode10.1iOS12.4

0x1

更新SDK1.8.6后,微信的API发生了少许变更,其中注册的API需要传一个Universal Links,因为我们的APP并不需要支持,所以想着直接传了nil,如下:

[WXApi registerApp:@"xxx" universalLink:nil];

按照新API更改编译通过、运行。发现不能微信登录和分享。点击后无法跳转微信,且报错如下:

-canOpenURL: failed for URL: "weixinULAPI://" - error: "This app is not allowed to query for scheme weixinulapi"

回看一下微信的文档发现,可能需要进行这样的配置:
在这里插入图片描述
按此配置完成后,仍然不能跳转,且报错:

-canOpenURL: failed for URL: "weixinULAPI://" - error: "The operation couldn’t be completed. (OSStatus error -10814.)"

但是官方文档并没有此错误编号-10814,陷入了沉思。

0x2

仔细阅读微信声明的更新文案后,想着,难道必须支持Universal Links才行吗?尝试配置试试看。参考了其他博主配置步骤:

  1. iOS9 Universal Links踩坑之旅,移动应用之deeplink唤醒app
  2. 苹果官方文档

其实上面博主写得已经挺明确了,但是中间还是遇到一些问题,这里我贴出我的配置供大家参考:

apple-app-site-association文件
在这里插入图片描述
Xcode配置在这里插入图片描述
有两点原因使我想着自己暂时把apple-app-site-association文件上传到阿里云进行测试

  1. 自己测试不想麻烦后台帮忙传
  2. 阿里云的OSS支持https,而我们测试服不支持https,还得拿证书去配置,麻烦

Universal Links配置OK后,尝试了,能直接跳到我们的APP了,所以至此我们的APP已经支持Universal Links

0x3

在微信后台配置Universal Links,以为需要审核,然而并不用,直接生效了。这里的链接有要求,已/结尾
在这里插入图片描述
最终配置:
在这里插入图片描述

最后

修改微信注册API,运行尝试看此方法的返回值是不是YES。只有返回YES才算OK,如还不行,可能微信后台有延迟,因为它说它会进行比对的。过几分钟再尝试,应该问题不大了

[WXApi registerApp:@"xxx" universalLink:@"你的微信后台配的Universal Links"];

到这里,你已经成功完成了微信openSDK1.8.6对iOS13系统的适配工作。微信登录和分享功能已正常。恭喜?

如你在此过程中仍然遇到一些问题,欢迎邮件联系我,我们一起交流讨论


http://www.ppmy.cn/news/789763.html

相关文章

苹果微信更新不了最新版本_微信再次更新 7.0.5,相同版本,安卓苹果有何不同?...

大家都知道啊,村长的那个小号被来了一个7天全方位套餐,现在也已经不是很安全了。所以为了避免突然之间与大家失联,村长只能再建一个小号了!还劳烦各位村友、铁粉们暂时转移一下阵地!大号不会断更,后期小号也…

如何让多行集体前面有空白呢?如何让多行集体前面减少空白呢?

就是让它们每一行前面都多几个空格。如何实现&#xff1f; else{const int rowcountvarrows.size();//行数//qDebug()<<"excel中有几行"<<rowcount;QVariantList rowdata;for(int i0;i<rowcount;i){rowdatavarrows[i].toList();//将每一行的值存入到…

如何将M4A格式的音频转换为MP3格式?只需一步搞定

随着网络技术的发达&#xff0c;会有很多人喜欢在网上下载东西&#xff0c;特别是很喜欢在网上下载音乐&#xff0c;但是下载音乐之后发现是M4A格式&#xff1f;这样用起来很不方便&#xff0c;都喜欢MP3格式的&#xff0c;那么如何将M4A格式的音频转换为MP3格式&#xff1f;今…

前端播放m4a文件

<video controls"" src"http://m701.music.126.net/20200602173940/683df575389a9a17ab8c5e0e082234e3/jdyyaac/070c/035a/0352/0ffde3d84a406712849848c8a780e785.m4a" ></video> 先上代码 直接video播放就行。。 但是最好把播放器控制台…

如何修复手机里的m4a格式录音文件

经常遇到手机里的m4a格式录音文件损坏而无法播放&#xff0c;一般都是文件头的部分信息丢失导致&#xff0c;其实用3个小工具就能快速修复破损的文件&#xff0c;来试试吧。 1、在windows环境下要用到3个工具是二进制编辑器、faad.exe和faac.exe&#xff0c;我已经打包在一起放…

H5页面播放M4a音频文件

业务场景&#xff1a; 手机app端录音&#xff0c;然后上传至后台服务器&#xff0c;前端从后台服务器获取录音&#xff0c;在PC端WEB页面播放。 实际问题&#xff1a; 首先app录音文件默认是m4a格式&#xff0c;而在PC端WEB H5页面&#xff0c;<audio>标签并没有明确写…

如何将.m4a转.wav文件

昨天现场交付的同事找到我&#xff0c;想把一个.m4a格式的文件转为.wav文件&#xff0c;目的是可以使得现场的媒体服务器将语音播放出来。 我习惯性的打开了adobe audition文件打开语音进行转换&#xff0c;但是该软件提示找不到acc.dll文件。我下载acc.dll文件后&#xff0c;通…

自动驾驶产业链躁动,四维图新能否做好新时代“Tier 1”?

自动驾驶行业的“劲风”又来了。 6月21日&#xff0c;工信部副部长辛国斌在国务院政策例行吹风会上表示&#xff0c;将启动智能网联汽车准入和上路通行试点&#xff0c;他强调&#xff0c;“这里面讲的是L3级&#xff0c;及更高级别的自动驾驶功能商业化应用”。此前工信部曾透…