iOS13 微信 QQ 分享 出现 未验证应用

        妈的,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。

图1 json格式

测试一下UL(https://域名/ )  启动app  粘贴到备忘录去,长按是否有跳到对应app的弹框

注意,分享的url 域名不能与UL的域名相同

2.配置苹果开发者中心的appid,重新更新描述文件,重新运行xcode 看图2


图2

xcode 11 以前会自动添加 associated domains   11后 手动添加 ,然后填写上图信息即可

3,在微信开发平台填写UL 在QQ互联上也对应填上信息,点击验证UL,开始遇到以下错误,是因为从腾讯开发平台关联过来时,APPID APPKEY 发生了改变,以QQ互联上为真。 


图3

4.添加对应URL  Schemes


图4

5. 微信注册 BOOL result = [WXApi registerApp:@"URL Schemes" universalLink:@"你的UL"];

    QQ注册 - (id)initWithAppId:(NSString*)appId

   andUniversalLink:(NSString*)universalLink

        andDelegate:(id)delegate;

6. 在APPDelegate 添加对应方法


图5

填坑    

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互联开发文档

有啥问题可以下面评论

你可能感兴趣的:(iOS13 微信 QQ 分享 出现 未验证应用)