妈的,app分享突然出现未验证应用 ,一些官方可读性又差,真烦 。由于iOS13,微信SDK针对 iOS 13系统版本安全性,进行了对应升级,微信SDK版本为openSDK(1.8.6+)。在微信官方介绍中,1.8.6.1 版本开始支持Universal Links方式跳转,对openSDK分享进行合法性校验。QQ互联(原腾讯开发平台的应用可以关联到这里,并且对应的appid,URL Schema即“tencent+appid”,APP Key都会发生改变,反正最后都用QQ互联的)QQ TencentOpenAPI目前更新到3.3.9版本, 不说了,上干货。
先说明Associated Domains,去开发者中心对于的appid添加Associated Domains 然后在xcode Signing & Capabilities 添加 Capability 图2所述。
1.先弄下Universal Links。配置一下自己应用的Universal Links
首先确认一下,自己的服务器是否支持https,如果不支持可以叫后台去阿里申请一个
弄个json如下图,名字为apple-app-site-association ,文本样式(文件不带后缀),然后给后台,放到服务器根目录下 https://域名/apple-app-site-association 打开此链接能看到json。
测试一下UL(https://域名/ ) 启动app 粘贴到备忘录去,长按是否有跳到对应app的弹框
注意,分享的url 域名不能与UL的域名相同
2.配置苹果开发者中心的appid,重新更新描述文件,重新运行xcode 看图2
xcode 11 以前会自动添加 associated domains 11后 手动添加 ,然后填写上图信息即可
3,在微信开发平台填写UL 在QQ互联上也对应填上信息,点击验证UL,开始遇到以下错误,是因为从腾讯开发平台关联过来时,APPID APPKEY 发生了改变,以QQ互联上为真。
4.添加对应URL Schemes
5. 微信注册 BOOL result = [WXApi registerApp:@"URL Schemes" universalLink:@"你的UL"];
QQ注册 - (id)initWithAppId:(NSString*)appId
andUniversalLink:(NSString*)universalLink
andDelegate:(id<TencentSessionDelegate>)delegate;
6. 在APPDelegate 添加对应方法
填坑
1.微信分享时,跳出 “正在连接”后返回APP后,没有跳转微信,添加图6方法即可,起初我添加的是这个
- (BOOL)application:(UIApplication*)application
continueUserActivity:(NSUserActivity *)userActivity
2.微信分享二次跳转,其实也是上面的1.问题(反正我的是)。
3.QQ分享使用的是QQ互联,从腾讯开发平台关联过来的APP,对应的APPID,URL Schemes(其实就是tencent + APPID)发生改变,如果代码内,使用的是腾讯开发平台的APPID URL Schemes会出现跳转到QQ后,出现一个三方安全验证后,跳回APP。
4.配好UL的情况下,我的QQ分享还是出现未授权,弹框提示设备未授权 (错误码:25105), 最后检查也是APPID Schemes对应的参数写错
以下附赠
https://docs.qq.com/doc/DZHNvSGJLS3pqbHNl iOS应用出现未验证应用的问题排查
https://wiki.connect.qq.com/%e5%a1%ab%e5%86%99%e5%8f%8a%e6%a0%a1%e9%aa%8cuniversallinks QQ互联开发文档
有啥问题可以下面评论