iOS13+ 通用链接(Universal Link)设置 解决APP接入微信支付和分享问题

有没有人在啊,想请教下,iOS13+ 通用链接(Universal Link)设置 解决APP接入微信支付和分享问题
最新回答
谁难过我的难过

2024-05-04 05:10:08

最近项目中,微信SDK针对 iOS 13系统版本安全性,进行了对应升级,微信SDK版本为openSDK(1.8.6+)。在微信官方介绍中,1.8.6.1 版本开始支持Universal Links方式跳转,对openSDK分享进行合法性校验。
*环境
SDK版本: SDK1.8.6或以上
微信版本: 7.0.7或以上
系统版本: iOS12或以上

1)根据 苹果文档 配置你应用的Universal Links
微信对Universal Links配置要求
a)Universal Links必须支持https
b)Universal Links配置的paths不能带query参数
c)微信使用Universal Links拉起第三方App时,会在Universal Links末尾拼接路径和参数,因此App配置的paths必须加上通配符/*
1.2 确认App的Universal Links配置成功
微信使用第三方App的Universal Links唤起第三方App时,会在Universal Links末尾拼接路径和参数,因此开发者Universal Links配置必须加上通配符“*”,并测试Universal Links拼接字符串能否唤起app
例如:我微信开发平台配置Universal Links为: https://www.abctest.cn/

appID格式为:TeamID + . + BundleID
TeamID在开发者平台找

2.1注意事项:
自己创建一个名叫 apple-app-site-association的json格式文件,注意文件命不需要添加的后缀。 apple官方参照地址
注意 用于在paths 数组中指定网站路径的字符串 区分大小写。仅将URL的路径部分用于比较。其他组件(例如查询字符串或片段标识符)将被忽略。
2.2上传apple-app-site-association到服务器(服务器需要支持https)

保存设置,然后重新生成配置文件。

·在 Xcode 中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏下的“URL type“添加“URL scheme”为你所注册的应用程序 id:在“LSApplicationQueriesSchemes“添加weixin 和weixinULAPI(如下图所示)

1:必须在IOS9及以上。
2:当在浏览器中点击Universal Links时,如果这个link和页面是同一个域名,则不走调起,而是当做普通链接在当前浏览器打开。
3:在测试阶段,微信分享或者支付不要打开代理抓包,这样也不走调起.—— 特别注意留心
4:成功调起app后,app的右上角的 state bar有在safari( letv.com )中打开的选项,如果你点击了它,它会跳转到safari,同时系统会认为你选择使用safari打开该域名的链接,而不调起app。以后你再点击该链接,它只会在safari里面跳转。

(1) 在safari页面中,手指往下拉动一下页面,会显示出一个“隐藏”的banner,俗称 smart banner,右侧是一个button:打开(open),点击它,就又会开启app跳转功能。
(2) 把链接粘贴到备忘录中,长按后选择 在XXAPP中打开。